Skip to content

Commit 23b27d4

Browse files
committed
sort definition loading
1 parent c0bbefe commit 23b27d4

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ class TransportVersionManagementPluginFuncTest extends AbstractGradleFuncTest {
186186
def result = validateDefinitionsFails()
187187
then:
188188
assertDefinitionsFailure(result, "Transport version definition file " +
189-
"[myserver/src/main/resources/transport/defined/duplicate.csv] contains id already defined in " +
190-
"[myserver/src/main/resources/transport/defined/existing_92.csv]")
189+
"[myserver/src/main/resources/transport/defined/existing_92.csv] contains id 8123000 already defined in " +
190+
"[myserver/src/main/resources/transport/defined/duplicate.csv]")
191191
}
192192

193193
def "definitions have bwc ids with non-zero patch part"() {

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ public void validateTransportVersions() throws IOException {
110110

111111
// now load all definitions, do some validation and record them by various keys for later quick lookup
112112
// NOTE: this must run after loading referenced names and existing definitions
113-
try (var definitionsStream = Files.list(definitionsDir)) {
113+
// NOTE: this is sorted so that the order of cross validation is deterministic
114+
try (var definitionsStream = Files.list(definitionsDir).sorted()) {
114115
for (var definitionFile : definitionsStream.toList()) {
115116
recordAndValidateDefinition(readDefinitionFile(definitionFile));
116117
}
@@ -206,7 +207,10 @@ private void recordAndValidateDefinition(TransportVersionDefinition definition)
206207

207208
String existing = definedIds.put(id.complete(), definition.name());
208209
if (existing != null) {
209-
throwDefinitionFailure(definition.name(), "contains id already defined in [" + definitionRelativePath(existing) + "]");
210+
throwDefinitionFailure(
211+
definition.name(),
212+
"contains id " + id + " already defined in [" + definitionRelativePath(existing) + "]"
213+
);
210214
}
211215

212216
if (ndx == 0) {

0 commit comments

Comments
 (0)