Skip to content

Commit 1329dc3

Browse files
authored
Add release version to setCompatibleVersions task (elastic#111489)
The release version is used to determine if it actually needs to update the CCS version or not
1 parent 4034615 commit 1329dc3

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/release/ReleaseToolsPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void apply(Project project) {
5252

5353
project.getTasks().register("extractCurrentVersions", ExtractCurrentVersionsTask.class);
5454
project.getTasks().register("tagVersions", TagVersionsTask.class);
55-
project.getTasks().register("setCompatibleVersions", SetCompatibleVersionsTask.class);
55+
project.getTasks().register("setCompatibleVersions", SetCompatibleVersionsTask.class, t -> t.setThisVersion(version));
5656

5757
final FileTree yamlFiles = projectDirectory.dir("docs/changelog")
5858
.getAsFileTree()

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/release/SetCompatibleVersionsTask.java

+18-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.github.javaparser.ast.expr.NameExpr;
1515
import com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter;
1616

17+
import org.elasticsearch.gradle.Version;
1718
import org.gradle.api.tasks.TaskAction;
1819
import org.gradle.api.tasks.options.Option;
1920
import org.gradle.initialization.layout.BuildLayout;
@@ -28,28 +29,44 @@
2829

2930
public class SetCompatibleVersionsTask extends AbstractVersionsTask {
3031

32+
private Version thisVersion;
33+
private Version releaseVersion;
3134
private Map<String, Integer> versionIds = Map.of();
3235

3336
@Inject
3437
public SetCompatibleVersionsTask(BuildLayout layout) {
3538
super(layout);
3639
}
3740

41+
public void setThisVersion(Version version) {
42+
thisVersion = version;
43+
}
44+
3845
@Option(option = "version-id", description = "Version id used for the release. Of the form <VersionType>:<id>.")
3946
public void versionIds(List<String> version) {
4047
this.versionIds = splitVersionIds(version);
4148
}
4249

50+
@Option(option = "release", description = "The version being released")
51+
public void releaseVersion(String version) {
52+
releaseVersion = Version.fromString(version);
53+
}
54+
4355
@TaskAction
4456
public void executeTask() throws IOException {
4557
if (versionIds.isEmpty()) {
4658
throw new IllegalArgumentException("No version ids specified");
4759
}
60+
61+
if (releaseVersion.getMajor() < thisVersion.getMajor()) {
62+
// don't need to update CCS version - this is for a different major
63+
return;
64+
}
65+
4866
Integer transportVersion = versionIds.get(TRANSPORT_VERSION_TYPE);
4967
if (transportVersion == null) {
5068
throw new IllegalArgumentException("TransportVersion id not specified");
5169
}
52-
5370
Path versionJava = rootDir.resolve(TRANSPORT_VERSIONS_FILE_PATH);
5471
CompilationUnit file = LexicalPreservingPrinter.setup(StaticJavaParser.parse(versionJava));
5572

0 commit comments

Comments
 (0)