@@ -57,16 +57,16 @@ tasks.register("appendOpenRewriteRequirements") {
5757 doLast {
5858 val file = requirementsFile.get().asFile
5959 file.appendText(" cbor2\n " )
60- file.appendText(" openrewrite${generatePipVersionConstraint(project.version.toString())} \n " )
61- file.appendText(" openrewrite-remote${generatePipVersionConstraint(getDirectDependencyVersion(" org.openrewrite:rewrite-remote-java" ))} \n " )
60+ file.appendText(" openrewrite${generatePipVersionConstraint(project.version.toString(), false )} \n " )
61+ file.appendText(" openrewrite-remote${generatePipVersionConstraint(getDirectDependencyVersion(" org.openrewrite:rewrite-remote-java" ), true )} \n " )
6262 }
6363}
6464
6565tasks.named(" processResources" ) {
6666 dependsOn(" appendOpenRewriteRequirements" )
6767}
6868
69- fun generatePipVersionConstraint (version : String ): String {
69+ fun generatePipVersionConstraint (version : String , boundByMajorVersion : Boolean ): String {
7070 if (version.endsWith(" -SNAPSHOT" )) {
7171 return " <${version.replace(" -SNAPSHOT" , " " )} "
7272 }
@@ -75,13 +75,17 @@ fun generatePipVersionConstraint(version: String): String {
7575 throw IllegalArgumentException (" Invalid version format: $version " )
7676 }
7777
78- val major = versionParts[0 ]
78+ val major = versionParts[0 ].toInt()
7979 val minor = versionParts[1 ].toInt()
8080 val patch = versionParts[2 ]
8181
82- val nextMinor = minor + 1
83-
84- return " >=${major} .${minor} .${patch} ,<${major} .${nextMinor} .0"
82+ return if (boundByMajorVersion) {
83+ val nextMajor = (major + 1 ).toString() + " .0.0"
84+ " >=${major} .${minor} .${patch} ,<${nextMajor} "
85+ } else {
86+ val nextMinor = major.toString() + " ." + (minor + 1 ) + " .0"
87+ " >=${major} .${minor} .${patch} ,<${nextMinor} "
88+ }
8589}
8690
8791fun Task.getDirectDependencyVersion (dependencyName : String ): String {
@@ -93,4 +97,4 @@ fun Task.getDirectDependencyVersion(dependencyName: String): String {
9397 }
9498 }
9599 return version
96- }
100+ }
0 commit comments