Skip to content

Commit b68519e

Browse files
authored
Rename initial to unreferenced in transport versions (#133082) (#133091)
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 560d5cd commit b68519e

File tree

3 files changed

+20
-7
lines changed

3 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
@@ -110,10 +110,13 @@ public void validateTransportVersions() throws IOException {
110110
// now load all definitions, do some validation and record them by various keys for later quick lookup
111111
// NOTE: this must run after loading referenced names and existing definitions
112112
// NOTE: this is sorted so that the order of cross validation is deterministic
113-
for (String subDir : List.of("initial", "named")) {
114-
try (var definitionsStream = Files.list(definitionsDir.resolve(subDir)).sorted()) {
115-
for (var definitionFile : definitionsStream.toList()) {
116-
recordAndValidateDefinition(readDefinitionFile(definitionFile));
113+
for (String subDirName : List.of("unreferenced", "named")) {
114+
Path subDir = definitionsDir.resolve(subDirName);
115+
if (Files.isDirectory(subDir)) {
116+
try (var definitionsStream = Files.list(subDir).sorted()) {
117+
for (var definitionFile : definitionsStream.toList()) {
118+
recordAndValidateDefinition(readDefinitionFile(definitionFile));
119+
}
117120
}
118121
}
119122
}

0 commit comments

Comments
 (0)