Skip to content

Commit 24842f8

Browse files
committed
split into separate task
1 parent 02a1e02 commit 24842f8

File tree

3 files changed

+22
-34
lines changed

3 files changed

+22
-34
lines changed

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/GenerateInitialTransportVersionFuncTest.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class GenerateInitialTransportVersionFuncTest extends AbstractTransportVersionFu
4848

4949
def "setup is valid"() {
5050
when:
51-
def result = runGenerateAndValidateTask("--release-version", "9.0.0", "--next-version", "9.1.0").build()
51+
def result = runGenerateAndValidateTask("--stack-version", "9.1.0").build()
5252

5353
then:
5454
assertGenerateAndValidateSuccess(result)
@@ -62,7 +62,7 @@ class GenerateInitialTransportVersionFuncTest extends AbstractTransportVersionFu
6262
versionPropertiesFile.text = versionPropertiesFile.text.replace("9.2.0", "9.3.0")
6363

6464
when:
65-
def result = runGenerateAndValidateTask("--release-version", "9.2.0", "--next-version", "9.3.0").build()
65+
def result = runGenerateAndValidateTask("--stack-version", "9.3.0").build()
6666

6767
then:
6868
assertGenerateAndValidateSuccess(result)
@@ -73,7 +73,7 @@ class GenerateInitialTransportVersionFuncTest extends AbstractTransportVersionFu
7373

7474
def "patch updates existing upper bound"() {
7575
when:
76-
def result = runGenerateAndValidateTask("--release-version", "9.1.1", "--next-version", "9.1.2").build()
76+
def result = runGenerateAndValidateTask("--stack-version", "9.1.2").build()
7777

7878
then:
7979
assertGenerateAndValidateSuccess(result)
@@ -83,9 +83,9 @@ class GenerateInitialTransportVersionFuncTest extends AbstractTransportVersionFu
8383

8484
def "cannot create upper bound file for patch"() {
8585
when:
86-
def result = runGenerateTask("--release-version", "9.3.7", "--next-version", "9.3.7").buildAndFail()
86+
def result = runGenerateTask("--stack-version", "9.3.7").buildAndFail()
8787

8888
then:
89-
assertGenerateFailure(result, "Missing upper bound 9.3 for release version 9.3.7")
89+
assertGenerateFailure(result, "Missing upper bound 9.3 for release version 9.3.6")
9090
}
9191
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/GenerateInitialTransportVersionTask.java

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,69 +11,55 @@
1111

1212
import org.elasticsearch.gradle.Version;
1313
import org.gradle.api.DefaultTask;
14-
import org.gradle.api.file.RegularFileProperty;
1514
import org.gradle.api.provider.Property;
1615
import org.gradle.api.services.ServiceReference;
1716
import org.gradle.api.tasks.Input;
18-
import org.gradle.api.tasks.InputFile;
1917
import org.gradle.api.tasks.TaskAction;
2018
import org.gradle.api.tasks.options.Option;
2119

2220
import java.io.IOException;
23-
import java.nio.file.Files;
24-
import java.nio.file.StandardOpenOption;
2521
import java.util.List;
2622

2723
public abstract class GenerateInitialTransportVersionTask extends DefaultTask {
2824

2925
@ServiceReference("transportVersionResources")
3026
abstract Property<TransportVersionResourcesService> getResourceService();
3127

32-
@InputFile
33-
public abstract RegularFileProperty getTransportVersionsFile();
34-
35-
@Input
36-
@Option(option = "release-version", description = "The current Elasticsearch version being released")
37-
public abstract Property<String> getReleaseVersion();
38-
3928
@Input
40-
@Option(option = "next-version", description = "The next Elasticsearch release version this transport version will be associated with")
41-
public abstract Property<String> getNextVersion();
29+
@Option(option = "stack-version", description = "The Elasticsearch version to generate an initial transport version for")
30+
public abstract Property<String> getStackVersion();
4231

4332
@Input
4433
abstract Property<Version> getCurrentVersion();
4534

4635
@TaskAction
4736
public void run() throws IOException {
48-
Version releaseVersion = Version.fromString(getReleaseVersion().get());
49-
Version nextVersion = Version.fromString(getNextVersion().get());
50-
String baseUpperBoundName = getUpperBoundName(releaseVersion);
37+
Version stackVersion = Version.fromString(getStackVersion().get());
38+
String baseUpperBoundName = getUpperBoundName(stackVersion);
5139
TransportVersionResourcesService resources = getResourceService().get();
5240
TransportVersionUpperBound baseUpperBound = resources.getUpperBoundFromGitBase(baseUpperBoundName);
53-
String initialDefinitionName = "initial_" + nextVersion;
41+
String initialDefinitionName = "initial_" + stackVersion;
5442
TransportVersionDefinition existingDefinition = resources.getUnreferableDefinitionFromGitBase(initialDefinitionName);
5543

5644
// This task runs on main and release branches. In release branches we will generate the exact same
5745
// upper bound result because we always look at the base branch (ie upstream/main).
5846
if (existingDefinition == null) {
5947
if (baseUpperBound == null) {
60-
throw new RuntimeException("Missing upper bound " + baseUpperBoundName + " for release version " + releaseVersion);
48+
throw new RuntimeException("Missing upper bound " + baseUpperBoundName + " for release version " + stackVersion);
6149
}
6250

63-
// Record the current transport version for the release version before creating the new one
6451
int currentTransportVersionId = baseUpperBound.definitionId().complete();
65-
addTransportVersionRecord(releaseVersion, currentTransportVersionId);
6652

6753
// minors increment by 1000 to create a unique base, patches increment by 1 as other patches do
68-
int increment = nextVersion.getRevision() == 0 ? 1000 : 1;
54+
int increment = stackVersion.getRevision() == 0 ? 1000 : 1;
6955
var id = TransportVersionId.fromInt(currentTransportVersionId + increment);
7056
var definition = new TransportVersionDefinition(initialDefinitionName, List.of(id), false);
7157
resources.writeDefinition(definition);
72-
String upperBoundName = getUpperBoundName(nextVersion);
58+
String upperBoundName = getUpperBoundName(stackVersion);
7359
var newUpperBound = new TransportVersionUpperBound(upperBoundName, initialDefinitionName, id);
7460
resources.writeUpperBound(newUpperBound);
7561

76-
if (nextVersion.getRevision() == 0) {
62+
if (stackVersion.getRevision() == 0) {
7763
Version currentVersion = getCurrentVersion().get();
7864
String currentUpperBoundName = getUpperBoundName(currentVersion);
7965
var currentUpperBound = new TransportVersionUpperBound(currentUpperBoundName, initialDefinitionName, id);
@@ -82,11 +68,6 @@ public void run() throws IOException {
8268
}
8369
}
8470

85-
private void addTransportVersionRecord(Version releaseVersion, int transportVersionId) throws IOException {
86-
String newEntry = releaseVersion + "," + transportVersionId + "\n";
87-
Files.writeString(getTransportVersionsFile().getAsFile().get().toPath(), newEntry, StandardOpenOption.APPEND);
88-
}
89-
9071
private String getUpperBoundName(Version version) {
9172
return version.getMajor() + "." + version.getMinor();
9273
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/TransportVersionResourcesPlugin.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,17 @@ public void apply(Project project) {
122122
t.setGroup(taskGroup);
123123
t.setDescription("Generates an initial transport version for an Elasticsearch release version");
124124
t.getCurrentVersion().set(currentVersion);
125+
});
126+
validateTask.configure(t -> t.mustRunAfter(generateInitialTask));
127+
128+
var updateTransportVersionsTask = project.getTasks()
129+
.register("updateTransportVersions", UpdateTransportVersionsTask.class, t -> {
130+
t.setGroup(taskGroup);
131+
t.setDescription("Updates TransportVersions.csv with a new stack version entry");
125132
t.getTransportVersionsFile()
126133
.set(project.getLayout().getProjectDirectory().file("src/main/resources/org/elasticsearch/TransportVersions.csv"));
127134
});
128-
validateTask.configure(t -> t.mustRunAfter(generateInitialTask));
135+
validateTask.configure(t -> t.mustRunAfter(updateTransportVersionsTask));
129136
}
130137

131138
private static String getResourceRoot(Project project) {

0 commit comments

Comments
 (0)