Skip to content

Commit 906bbfc

Browse files
authored
Rename initial to unreferenced in transport versions (#133082)
The concept of "initial" transport version is broader than just the initial ids created for releases. There are several cases where ids were skipped for various reasons. In order to ensure validation can still work (eg density of base ids), this commit broadens the concept to a place we can define any unreferenced transport version.
1 parent 307a6a7 commit 906bbfc

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

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

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ class TransportVersionManagementPluginFuncTest extends AbstractGradleFuncTest {
4646
javaResource("myserver", "transport/definitions/named/" + name + ".csv", ids)
4747
}
4848

49-
def initialTransportVersion(String name, String id) {
50-
javaResource("myserver", "transport/definitions/initial/" + name + ".csv", id)
49+
def unreferencedTransportVersion(String name, String id) {
50+
javaResource("myserver", "transport/definitions/unreferenced/" + name + ".csv", id)
5151
}
5252

5353
def definedAndUsedTransportVersion(String name, String ids) {
@@ -101,7 +101,7 @@ class TransportVersionManagementPluginFuncTest extends AbstractGradleFuncTest {
101101
"""
102102
namedTransportVersion("existing_91", "8012000")
103103
namedTransportVersion("existing_92", "8123000,8012001")
104-
initialTransportVersion("initial_9_0_0", "8000000")
104+
unreferencedTransportVersion("initial_9_0_0", "8000000")
105105
latestTransportVersion("9.2", "existing_92", "8123000")
106106
latestTransportVersion("9.1", "existing_92", "8012001")
107107
// a mock version of TransportVersion, just here so we can compile Dummy.java et al
@@ -303,4 +303,14 @@ class TransportVersionManagementPluginFuncTest extends AbstractGradleFuncTest {
303303
assertDefinitionsFailure(result, "Transport version definition file " +
304304
"[myserver/src/main/resources/transport/definitions/named/patch.csv] has patch version 8015001 as primary id")
305305
}
306+
307+
def "unreferenced directory is optional"() {
308+
given:
309+
file("myserver/src/main/resources/transport/unreferenced/initial_9_0_0.csv").delete()
310+
file("myserver/src/main/resources/transport/unreferenced").deleteDir()
311+
when:
312+
def result = gradleRunner(":myserver:validateTransportVersionDefinitions").build()
313+
then:
314+
result.task(":myserver:validateTransportVersionDefinitions").outcome == TaskOutcome.SUCCESS
315+
}
306316
}

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,13 @@ public void validateTransportVersions() throws IOException {
107107
// now load all definitions, do some validation and record them by various keys for later quick lookup
108108
// NOTE: this must run after loading referenced names and existing definitions
109109
// NOTE: this is sorted so that the order of cross validation is deterministic
110-
for (String subDir : List.of("initial", "named")) {
111-
try (var definitionsStream = Files.list(definitionsDir.resolve(subDir)).sorted()) {
112-
for (var definitionFile : definitionsStream.toList()) {
113-
recordAndValidateDefinition(readDefinitionFile(definitionFile));
110+
for (String subDirName : List.of("unreferenced", "named")) {
111+
Path subDir = definitionsDir.resolve(subDirName);
112+
if (Files.isDirectory(subDir)) {
113+
try (var definitionsStream = Files.list(subDir).sorted()) {
114+
for (var definitionFile : definitionsStream.toList()) {
115+
recordAndValidateDefinition(readDefinitionFile(definitionFile));
116+
}
114117
}
115118
}
116119
}

0 commit comments

Comments
 (0)