Skip to content

Commit 9924907

Browse files
authored
Fix transport version validation task name (#133186)
The task class validates resources, but the task name still had the old "definitions" suffix.
1 parent b3f8ea8 commit 9924907

File tree

3 files changed

+57
-60
lines changed

3 files changed

+57
-60
lines changed

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

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
4141
javaResource("myserver", "transport/definitions/unreferenced/" + name + ".csv", id)
4242
}
4343

44-
def definedAndUsedTransportVersion(String name, String ids) {
45-
return definedAndUsedTransportVersion(name, ids, "Test${name.capitalize()}")
44+
def namedAndReferencedTransportVersion(String name, String ids) {
45+
return namedAndReferencedTransportVersion(name, ids, "Test${name.capitalize()}")
4646
}
4747

48-
def definedAndUsedTransportVersion(String name, String ids, String classname) {
48+
def namedAndReferencedTransportVersion(String name, String ids, String classname) {
4949
javaSource("myserver", "org.elasticsearch", classname, "", """
5050
static final TransportVersion usage = TransportVersion.fromName("${name}");
5151
""")
@@ -60,17 +60,17 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
6060
return gradleRunner(":${project}:validateTransportVersionReferences").buildAndFail()
6161
}
6262

63-
def validateDefinitionsFails() {
64-
return gradleRunner(":myserver:validateTransportVersionDefinitions").buildAndFail()
63+
def validateResourcesFails() {
64+
return gradleRunner(":myserver:validateTransportVersionResources").buildAndFail()
6565
}
6666

67-
def assertReferencesFailure(BuildResult result, String project, String expectedOutput) {
67+
def assertValidateReferencesFailure(BuildResult result, String project, String expectedOutput) {
6868
result.task(":${project}:validateTransportVersionReferences").outcome == TaskOutcome.FAILED
6969
assertOutputContains(result.output, expectedOutput)
7070
}
7171

72-
def assertDefinitionsFailure(BuildResult result, String expectedOutput) {
73-
result.task(":myserver:validateTransportVersionDefinitions").outcome == TaskOutcome.FAILED
72+
def assertValidateResourcesFailure(BuildResult result, String expectedOutput) {
73+
result.task(":myserver:validateTransportVersionResources").outcome == TaskOutcome.FAILED
7474
assertOutputContains(result.output, expectedOutput)
7575
}
7676

@@ -81,9 +81,6 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
8181
include ':myserver'
8282
include ':myplugin'
8383
"""
84-
file("gradle.properties") << """
85-
org.elasticsearch.transport.definitionsProject=:myserver
86-
"""
8784

8885
file("myserver/build.gradle") << """
8986
apply plugin: 'java-library'

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

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ class TransportVersionValidationFuncTest extends AbstractTransportVersionFuncTes
1616

1717
def "test setup works"() {
1818
when:
19-
def result = gradleRunner("validateTransportVersionDefinitions", "validateTransportVersionReferences").build()
19+
def result = gradleRunner("validateTransportVersionResources", "validateTransportVersionReferences").build()
2020
then:
21-
result.task(":myserver:validateTransportVersionDefinitions").outcome == TaskOutcome.SUCCESS
21+
result.task(":myserver:validateTransportVersionResources").outcome == TaskOutcome.SUCCESS
2222
result.task(":myserver:validateTransportVersionReferences").outcome == TaskOutcome.SUCCESS
2323
result.task(":myplugin:validateTransportVersionReferences").outcome == TaskOutcome.SUCCESS
2424
}
@@ -32,27 +32,27 @@ class TransportVersionValidationFuncTest extends AbstractTransportVersionFuncTes
3232
when:
3333
def result = validateReferencesFails("myplugin")
3434
then:
35-
assertReferencesFailure(result, "myplugin", "TransportVersion.fromName(\"dne\") was used at " +
35+
assertValidateReferencesFailure(result, "myplugin", "TransportVersion.fromName(\"dne\") was used at " +
3636
"org.elasticsearch.plugin.MyPlugin line 6, but lacks a transport version definition.")
3737
}
3838

3939
def "references must be defined"() {
4040
given:
4141
namedTransportVersion("not_used", "1000000")
4242
when:
43-
def result = validateDefinitionsFails()
43+
def result = validateResourcesFails()
4444
then:
45-
assertDefinitionsFailure(result, "Transport version definition file " +
45+
assertValidateResourcesFailure(result, "Transport version definition file " +
4646
"[myserver/src/main/resources/transport/definitions/named/not_used.csv] is not referenced")
4747
}
4848

4949
def "names must be lowercase alphanum or underscore"() {
5050
given:
51-
definedAndUsedTransportVersion("${name}", "8100000", "TestNames")
51+
namedAndReferencedTransportVersion("${name}", "8100000", "TestNames")
5252
when:
53-
def result = validateDefinitionsFails()
53+
def result = validateResourcesFails()
5454
then:
55-
assertDefinitionsFailure(result, "Transport version definition file " +
55+
assertValidateResourcesFailure(result, "Transport version definition file " +
5656
"[myserver/src/main/resources/transport/definitions/named/${name}.csv] does not have a valid name, " +
5757
"must be lowercase alphanumeric and underscore")
5858

@@ -62,130 +62,130 @@ class TransportVersionValidationFuncTest extends AbstractTransportVersionFuncTes
6262

6363
def "definitions contain at least one id"() {
6464
given:
65-
definedAndUsedTransportVersion("empty", "")
65+
namedAndReferencedTransportVersion("empty", "")
6666
when:
67-
def result = validateDefinitionsFails()
67+
def result = validateResourcesFails()
6868
then:
69-
assertDefinitionsFailure(result, "Transport version definition file " +
69+
assertValidateResourcesFailure(result, "Transport version definition file " +
7070
"[myserver/src/main/resources/transport/definitions/named/empty.csv] does not contain any ids")
7171
}
7272

7373
def "definitions have ids in descending order"() {
7474
given:
75-
definedAndUsedTransportVersion("out_of_order", "8100000,8200000")
75+
namedAndReferencedTransportVersion("out_of_order", "8100000,8200000")
7676
when:
77-
def result = validateDefinitionsFails()
77+
def result = validateResourcesFails()
7878
then:
79-
assertDefinitionsFailure(result, "Transport version definition file " +
79+
assertValidateResourcesFailure(result, "Transport version definition file " +
8080
"[myserver/src/main/resources/transport/definitions/named/out_of_order.csv] does not have ordered ids")
8181
}
8282

8383
def "definition ids are unique"() {
8484
given:
85-
definedAndUsedTransportVersion("duplicate", "8123000")
85+
namedAndReferencedTransportVersion("duplicate", "8123000")
8686
when:
87-
def result = validateDefinitionsFails()
87+
def result = validateResourcesFails()
8888
then:
89-
assertDefinitionsFailure(result, "Transport version definition file " +
89+
assertValidateResourcesFailure(result, "Transport version definition file " +
9090
"[myserver/src/main/resources/transport/definitions/named/existing_92.csv] contains id 8123000 already defined in " +
9191
"[myserver/src/main/resources/transport/definitions/named/duplicate.csv]")
9292
}
9393

9494
def "definitions have bwc ids with non-zero patch part"() {
9595
given:
96-
definedAndUsedTransportVersion("patched", "8200000,8100000")
96+
namedAndReferencedTransportVersion("patched", "8200000,8100000")
9797
when:
98-
def result = validateDefinitionsFails()
98+
def result = validateResourcesFails()
9999
then:
100-
assertDefinitionsFailure(result, "Transport version definition file " +
100+
assertValidateResourcesFailure(result, "Transport version definition file " +
101101
"[myserver/src/main/resources/transport/definitions/named/patched.csv] contains bwc id [8100000] with a patch part of 0")
102102
}
103103

104104
def "definitions have primary ids which cannot change"() {
105105
given:
106106
namedTransportVersion("existing_92", "8500000")
107107
when:
108-
def result = validateDefinitionsFails()
108+
def result = validateResourcesFails()
109109
then:
110-
assertDefinitionsFailure(result, "Transport version definition file " +
110+
assertValidateResourcesFailure(result, "Transport version definition file " +
111111
"[myserver/src/main/resources/transport/definitions/named/existing_92.csv] has modified primary id from 8123000 to 8500000")
112112
}
113113

114114
def "cannot change committed ids to a branch"() {
115115
given:
116116
namedTransportVersion("existing_92", "8123000,8012002")
117117
when:
118-
def result = validateDefinitionsFails()
118+
def result = validateResourcesFails()
119119
then:
120-
assertDefinitionsFailure(result, "Transport version definition file " +
120+
assertValidateResourcesFailure(result, "Transport version definition file " +
121121
"[myserver/src/main/resources/transport/definitions/named/existing_92.csv] modifies existing patch id from 8012001 to 8012002")
122122
}
123123

124124
def "latest files must reference defined name"() {
125125
given:
126126
latestTransportVersion("9.2", "dne", "8123000")
127127
when:
128-
def result = validateDefinitionsFails()
128+
def result = validateResourcesFails()
129129
then:
130-
assertDefinitionsFailure(result, "Latest transport version file " +
130+
assertValidateResourcesFailure(result, "Latest transport version file " +
131131
"[myserver/src/main/resources/transport/latest/9.2.csv] contains transport version name [dne] which is not defined")
132132
}
133133

134134
def "latest files id must exist in definition"() {
135135
given:
136136
latestTransportVersion("9.2", "existing_92", "8124000")
137137
when:
138-
def result = validateDefinitionsFails()
138+
def result = validateResourcesFails()
139139
then:
140-
assertDefinitionsFailure(result, "Latest transport version file " +
140+
assertValidateResourcesFailure(result, "Latest transport version file " +
141141
"[myserver/src/main/resources/transport/latest/9.2.csv] has id 8124000 which is not in definition " +
142142
"[myserver/src/main/resources/transport/definitions/named/existing_92.csv]")
143143
}
144144

145145
def "latest files have latest id within base"() {
146146
given:
147147
latestTransportVersion("9.0", "seemingly_latest", "8110001")
148-
definedAndUsedTransportVersion("original", "8110000")
149-
definedAndUsedTransportVersion("seemingly_latest", "8111000,8110001")
150-
definedAndUsedTransportVersion("actual_latest", "8112000,8110002")
148+
namedAndReferencedTransportVersion("original", "8110000")
149+
namedAndReferencedTransportVersion("seemingly_latest", "8111000,8110001")
150+
namedAndReferencedTransportVersion("actual_latest", "8112000,8110002")
151151
when:
152-
def result = validateDefinitionsFails()
152+
def result = validateResourcesFails()
153153
then:
154-
assertDefinitionsFailure(result, "Latest transport version file " +
154+
assertValidateResourcesFailure(result, "Latest transport version file " +
155155
"[myserver/src/main/resources/transport/latest/9.0.csv] has id 8110001 from [seemingly_latest] with base 8110000 " +
156156
"but another id 8110002 from [actual_latest] is later for that base")
157157
}
158158

159159
def "latest files cannot change base id"() {
160160
given:
161-
definedAndUsedTransportVersion("original", "8013000")
162-
definedAndUsedTransportVersion("patch", "8015000,8013001")
161+
namedAndReferencedTransportVersion("original", "8013000")
162+
namedAndReferencedTransportVersion("patch", "8015000,8013001")
163163
latestTransportVersion("9.1", "patch", "8013001")
164164
when:
165-
def result = validateDefinitionsFails()
165+
def result = validateResourcesFails()
166166
then:
167-
assertDefinitionsFailure(result, "Latest transport version file " +
167+
assertValidateResourcesFailure(result, "Latest transport version file " +
168168
"[myserver/src/main/resources/transport/latest/9.1.csv] modifies base id from 8012000 to 8013000")
169169
}
170170

171171
def "ids must be dense"() {
172172
given:
173-
definedAndUsedTransportVersion("original", "8013000")
174-
definedAndUsedTransportVersion("patch1", "8015000,8013002")
173+
namedAndReferencedTransportVersion("original", "8013000")
174+
namedAndReferencedTransportVersion("patch1", "8015000,8013002")
175175
latestTransportVersion("9.0", "patch1", "8013002")
176176
when:
177-
def result = validateDefinitionsFails()
177+
def result = validateResourcesFails()
178178
then:
179-
assertDefinitionsFailure(result, "Transport version base id 8013000 is missing patch ids between 8013000 and 8013002")
179+
assertValidateResourcesFailure(result, "Transport version base id 8013000 is missing patch ids between 8013000 and 8013002")
180180
}
181181

182182
def "primary id must not be patch version"() {
183183
given:
184-
definedAndUsedTransportVersion("patch", "8015001")
184+
namedAndReferencedTransportVersion("patch", "8015001")
185185
when:
186-
def result = validateDefinitionsFails()
186+
def result = validateResourcesFails()
187187
then:
188-
assertDefinitionsFailure(result, "Transport version definition file " +
188+
assertValidateResourcesFailure(result, "Transport version definition file " +
189189
"[myserver/src/main/resources/transport/definitions/named/patch.csv] has patch version 8015001 as primary id")
190190
}
191191

@@ -194,8 +194,8 @@ class TransportVersionValidationFuncTest extends AbstractTransportVersionFuncTes
194194
file("myserver/src/main/resources/transport/unreferenced/initial_9_0_0.csv").delete()
195195
file("myserver/src/main/resources/transport/unreferenced").deleteDir()
196196
when:
197-
def result = gradleRunner(":myserver:validateTransportVersionDefinitions").build()
197+
def result = gradleRunner(":myserver:validateTransportVersionResources").build()
198198
then:
199-
result.task(":myserver:validateTransportVersionDefinitions").outcome == TaskOutcome.SUCCESS
199+
result.task(":myserver:validateTransportVersionResources").outcome == TaskOutcome.SUCCESS
200200
}
201201
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,17 @@ public void apply(Project project) {
5050
}
5151

5252
var validateTask = project.getTasks()
53-
.register("validateTransportVersionDefinitions", ValidateTransportVersionResourcesTask.class, t -> {
53+
.register("validateTransportVersionResources", ValidateTransportVersionResourcesTask.class, t -> {
5454
t.setGroup("Transport Versions");
55-
t.setDescription("Validates that all defined TransportVersion constants are used in at least one project");
55+
t.setDescription("Validates that all transport version resources are internally consistent with each other");
5656
t.getReferencesFiles().setFrom(tvReferencesConfig);
5757
});
5858
project.getTasks().named(LifecycleBasePlugin.CHECK_TASK_NAME).configure(t -> t.dependsOn(validateTask));
5959

6060
var generateManifestTask = project.getTasks()
6161
.register("generateTransportVersionManifest", GenerateTransportVersionManifestTask.class, t -> {
6262
t.setGroup("Transport Versions");
63-
t.setDescription("Generate a manifest resource for all the known transport version definitions");
63+
t.setDescription("Generate a manifest resource for all transport version definitions");
6464
t.getManifestFile().set(project.getLayout().getBuildDirectory().file("generated-resources/manifest.txt"));
6565
});
6666
project.getTasks().named(JavaPlugin.PROCESS_RESOURCES_TASK_NAME, Copy.class).configure(t -> {

0 commit comments

Comments
 (0)