Skip to content

Commit 4b528d9

Browse files
committed
Consolidate duplication of BWC testing task setup in script plugin (#53079)
(cherry picked from commit 33fc8e7)
1 parent 3fcf598 commit 4b528d9

File tree

10 files changed

+55
-201
lines changed

10 files changed

+55
-201
lines changed

gradle/bwc-test.gradle

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import org.elasticsearch.gradle.Version
2+
3+
ext.bwcTaskName = { Version version ->
4+
return "v${version}#bwcTest"
5+
}
6+
7+
def bwcTestSnapshots = tasks.register("bwcTestSnapshots") {
8+
if (project.bwc_tests_enabled) {
9+
dependsOn tasks.matching { task -> bwcVersions.unreleased.any { version -> bwcTaskName(version) == task.name } }
10+
}
11+
}
12+
13+
tasks.register("bwcTest") {
14+
description = 'Runs backwards compatibility tests.'
15+
group = 'verification'
16+
17+
if (project.bwc_tests_enabled) {
18+
dependsOn tasks.matching { it.name ==~ /v[0-9\.]+#bwcTest/ }
19+
}
20+
}
21+
22+
tasks.withType(Test).configureEach {
23+
onlyIf { project.bwc_tests_enabled }
24+
}
25+
26+
tasks.named("check").configure {
27+
dependsOn(bwcTestSnapshots)
28+
}
29+
30+
test.enabled = false

qa/full-cluster-restart/build.gradle

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,7 @@ import org.elasticsearch.gradle.testclusters.TestDistribution
2525

2626
apply plugin: 'elasticsearch.testclusters'
2727
apply plugin: 'elasticsearch.standalone-test'
28-
29-
tasks.register("bwcTest") {
30-
description = 'Runs backwards compatibility tests.'
31-
group = 'verification'
32-
}
28+
apply from : "$rootDir/gradle/bwc-test.gradle"
3329

3430
for (Version bwcVersion : bwcVersions.indexCompatible) {
3531
String baseName = "v${bwcVersion}"
@@ -71,25 +67,11 @@ for (Version bwcVersion : bwcVersions.indexCompatible) {
7167
it.nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}")
7268
}
7369

74-
if (project.bwc_tests_enabled) {
75-
bwcTest.dependsOn(
76-
tasks.register("${baseName}#bwcTest") {
77-
dependsOn tasks.named("${baseName}#upgradedClusterTest")
78-
}
79-
)
80-
}
81-
}
82-
83-
task bwcTestSnapshots {
84-
if (project.bwc_tests_enabled) {
85-
for (final def version : bwcVersions.unreleasedIndexCompatible) {
86-
dependsOn "v${version}#bwcTest"
87-
}
70+
tasks.register(bwcTaskName(bwcVersion)) {
71+
dependsOn tasks.named("${baseName}#upgradedClusterTest")
8872
}
8973
}
9074

91-
check.dependsOn(bwcTestSnapshots)
92-
9375
configurations {
9476
testArtifacts.extendsFrom testRuntime
9577
}
@@ -102,5 +84,3 @@ task testJar(type: Jar) {
10284
artifacts {
10385
testArtifacts testJar
10486
}
105-
106-
test.enabled = false

qa/mixed-cluster/build.gradle

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
2424

2525
apply plugin: 'elasticsearch.testclusters'
2626
apply plugin: 'elasticsearch.standalone-test'
27-
28-
tasks.register("bwcTest") {
29-
description = 'Runs backwards compatibility tests.'
30-
group = 'verification'
31-
}
27+
apply from : "$rootDir/gradle/bwc-test.gradle"
3228

3329
restResources {
3430
restTests {
@@ -76,23 +72,7 @@ for (Version bwcVersion : bwcVersions.wireCompatible) {
7672
onlyIf { project.bwc_tests_enabled }
7773
}
7874

79-
tasks.register("${baseName}#bwcTest") {
75+
tasks.register(bwcTaskName(bwcVersion)) {
8076
dependsOn "${baseName}#mixedClusterTest"
8177
}
82-
83-
tasks.bwcTest.dependsOn "${baseName}#bwcTest"
8478
}
85-
86-
task bwcTestSnapshots {
87-
if (project.bwc_tests_enabled) {
88-
for (Version bwcVersion : bwcVersions.unreleasedWireCompatible) {
89-
if (bwcVersion != VersionProperties.getElasticsearchVersion()) {
90-
dependsOn "v${bwcVersion}#bwcTest"
91-
}
92-
}
93-
}
94-
}
95-
96-
check.dependsOn(bwcTestSnapshots)
97-
98-
test.enabled = false

qa/repository-multi-version/build.gradle

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
2323

2424
apply plugin: 'elasticsearch.testclusters'
2525
apply plugin: 'elasticsearch.standalone-test'
26-
27-
tasks.register("bwcTest") {
28-
description = 'Runs backwards compatibility tests.'
29-
group = 'verification'
30-
}
26+
apply from : "$rootDir/gradle/bwc-test.gradle"
3127

3228
dependencies {
3329
testCompile project(':client:rest-high-level')
@@ -86,25 +82,11 @@ for (Version bwcVersion : bwcVersions.indexCompatible) {
8682
it.nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${clusterName}".getName()}")
8783
}
8884

89-
if (project.bwc_tests_enabled) {
90-
bwcTest.dependsOn(
91-
tasks.register("${baseName}#bwcTest") {
92-
dependsOn tasks.named("${baseName}#Step4NewClusterTest")
93-
}
94-
)
95-
}
96-
}
97-
98-
task bwcTestSnapshots {
99-
if (project.bwc_tests_enabled) {
100-
for (final def version : bwcVersions.unreleasedIndexCompatible) {
101-
dependsOn "v${version}#bwcTest"
102-
}
85+
tasks.register(bwcTaskName(bwcVersion)) {
86+
dependsOn tasks.named("${baseName}#Step4NewClusterTest")
10387
}
10488
}
10589

106-
check.dependsOn(bwcTestSnapshots)
107-
10890
configurations {
10991
testArtifacts.extendsFrom testRuntime
11092
}
@@ -117,5 +99,3 @@ task testJar(type: Jar) {
11799
artifacts {
118100
testArtifacts testJar
119101
}
120-
121-
test.enabled = false

qa/rolling-upgrade/build.gradle

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,7 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
2323

2424
apply plugin: 'elasticsearch.testclusters'
2525
apply plugin: 'elasticsearch.standalone-test'
26-
27-
// This is a top level task which we will add dependencies to below.
28-
// It is a single task that can be used to backcompat tests against all versions.
29-
task bwcTest {
30-
description = 'Runs backwards compatibility tests.'
31-
group = 'verification'
32-
}
26+
apply from : "$rootDir/gradle/bwc-test.gradle"
3327

3428
for (Version bwcVersion : bwcVersions.wireCompatible) {
3529
/*
@@ -108,26 +102,7 @@ for (Version bwcVersion : bwcVersions.wireCompatible) {
108102
nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}")
109103
}
110104

111-
if (project.bwc_tests_enabled) {
112-
bwcTest.dependsOn(
113-
tasks.register("${baseName}#bwcTest") {
114-
dependsOn tasks.named("${baseName}#upgradedClusterTest")
115-
}
116-
)
105+
tasks.register(bwcTaskName(bwcVersion)) {
106+
dependsOn tasks.named("${baseName}#upgradedClusterTest")
117107
}
118108
}
119-
120-
test.enabled = false // no unit tests for rolling upgrades, only the rest integration test
121-
122-
// basic integ tests includes testing bwc against the most recent version
123-
task bwcTestSnapshots {
124-
if (project.bwc_tests_enabled) {
125-
for (final def version : bwcVersions.unreleasedWireCompatible) {
126-
dependsOn "v${version}#bwcTest"
127-
}
128-
}
129-
}
130-
131-
check.dependsOn(bwcTestSnapshots)
132-
133-
test.enabled = false

qa/verify-version-constants/build.gradle

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
2424

2525
apply plugin: 'elasticsearch.testclusters'
2626
apply plugin: 'elasticsearch.standalone-test'
27-
28-
tasks.register("bwcTest") {
29-
description = 'Runs backwards compatibility tests.'
30-
group = 'verification'
31-
}
27+
apply from : "$rootDir/gradle/bwc-test.gradle"
3228

3329
for (Version bwcVersion : bwcVersions.indexCompatible) {
3430
String baseName = "v${bwcVersion}"
@@ -46,22 +42,12 @@ for (Version bwcVersion : bwcVersions.indexCompatible) {
4642
nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}")
4743
}
4844

49-
tasks.register("${baseName}#bwcTest") {
45+
tasks.register(bwcTaskName(bwcVersion)) {
5046
dependsOn "${baseName}#integTest"
5147
}
52-
53-
bwcTest.dependsOn("${baseName}#bwcTest")
5448
}
5549

56-
task bwcTestSnapshots {
57-
if (project.bwc_tests_enabled) {
58-
for (version in bwcVersions.unreleasedIndexCompatible) {
59-
dependsOn "v${version}#bwcTest"
60-
}
61-
}
62-
}
63-
64-
task verifyDocsLuceneVersion {
50+
tasks.register("verifyDocsLuceneVersion") {
6551
doFirst {
6652
File docsVersionsFile = rootProject.file('docs/Versions.asciidoc')
6753
List<String> versionLines = docsVersionsFile.readLines('UTF-8')
@@ -83,6 +69,6 @@ task verifyDocsLuceneVersion {
8369
}
8470
}
8571

86-
check.dependsOn bwcTestSnapshots, verifyDocsLuceneVersion
87-
88-
test.enabled = false
72+
tasks.named("check").configure {
73+
dependsOn verifyDocsLuceneVersion
74+
}

x-pack/qa/full-cluster-restart/build.gradle

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
33

44
apply plugin: 'elasticsearch.testclusters'
55
apply plugin: 'elasticsearch.standalone-test'
6+
apply from : "$rootDir/gradle/bwc-test.gradle"
67

78
dependencies {
89
// TODO: Remove core dependency and change tests to not use builders that are part of xpack-core.
@@ -23,11 +24,6 @@ forbiddenPatterns {
2324

2425
String outputDir = "${buildDir}/generated-resources/${project.name}"
2526

26-
tasks.register("bwcTest") {
27-
description = 'Runs backwards compatibility tests.'
28-
group = 'verification'
29-
}
30-
3127
tasks.register("copyTestNodeKeyMaterial", Copy) {
3228
from project(':x-pack:plugin:core')
3329
.files(
@@ -104,23 +100,7 @@ for (Version bwcVersion : bwcVersions.indexCompatible) {
104100
it.nonInputProperties.systemProperty('tests.clustername', "${-> testClusters."${baseName}".getName()}")
105101
}
106102

107-
tasks.register("${baseName}#bwcTest") {
103+
tasks.register(bwcTaskName(bwcVersion)) {
108104
dependsOn "${baseName}#upgradedClusterTest"
109105
}
110-
111-
if (project.bwc_tests_enabled) {
112-
bwcTest.dependsOn("${baseName}#bwcTest")
113-
}
114-
}
115-
116-
task bwcTestSnapshots {
117-
if (project.bwc_tests_enabled) {
118-
for (final def version : bwcVersions.unreleasedIndexCompatible) {
119-
dependsOn "v${version}#bwcTest"
120-
}
121-
}
122106
}
123-
124-
check.dependsOn(bwcTestSnapshots)
125-
126-
test.enabled = false

x-pack/qa/rolling-upgrade-basic/build.gradle

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,12 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
33

44
apply plugin: 'elasticsearch.testclusters'
55
apply plugin: 'elasticsearch.standalone-test'
6+
apply from : "$rootDir/gradle/bwc-test.gradle"
67

78
dependencies {
89
testCompile project(':x-pack:qa')
910
}
1011

11-
tasks.register("bwcTest") {
12-
description = 'Runs backwards compatibility tests.'
13-
group = 'verification'
14-
}
15-
1612
for (Version bwcVersion : bwcVersions.wireCompatible) {
1713
String baseName = "v${bwcVersion}"
1814

@@ -79,24 +75,9 @@ for (Version bwcVersion : bwcVersions.wireCompatible) {
7975
systemProperty 'tests.upgrade_from_version', bwcVersion.toString().replace('-SNAPSHOT', '')
8076
}
8177

82-
tasks.register("${baseName}#bwcTest") {
78+
tasks.register(bwcTaskName(bwcVersion)) {
8379
dependsOn "${baseName}#upgradedClusterTest"
8480
}
85-
86-
if (project.bwc_tests_enabled) {
87-
bwcTest.dependsOn("${baseName}#bwcTest")
88-
}
8981
}
9082

91-
task bwcTestSnapshots {
92-
if (project.bwc_tests_enabled) {
93-
for (final def version : bwcVersions.unreleasedWireCompatible) {
94-
dependsOn "v${version}#bwcTest"
95-
}
96-
}
97-
}
98-
check.dependsOn(bwcTestSnapshots)
99-
10083
compileTestJava.options.compilerArgs << "-Xlint:-cast,-rawtypes,-unchecked"
101-
102-
test.enabled = false

x-pack/qa/rolling-upgrade-multi-cluster/build.gradle

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,12 @@ import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
33

44
apply plugin: 'elasticsearch.testclusters'
55
apply plugin: 'elasticsearch.standalone-test'
6+
apply from : "$rootDir/gradle/bwc-test.gradle"
67

78
dependencies {
89
testCompile project(':x-pack:qa')
910
}
1011

11-
tasks.register("bwcTest") {
12-
description = 'Runs backwards compatibility tests.'
13-
group = 'verification'
14-
}
15-
1612
for (Version bwcVersion : bwcVersions.wireCompatible) {
1713
String baseName = "v${bwcVersion}"
1814

@@ -94,22 +90,7 @@ for (Version bwcVersion : bwcVersions.wireCompatible) {
9490
dependsOn "${baseName}#follower#upgradedClusterTest"
9591
}
9692

97-
tasks.register("${baseName}#bwcTest") {
93+
tasks.register(bwcTaskName(bwcVersion)) {
9894
dependsOn "${baseName}#leader#upgradedClusterTest"
9995
}
100-
101-
if (project.bwc_tests_enabled) {
102-
bwcTest.dependsOn("${baseName}#bwcTest")
103-
}
10496
}
105-
106-
task bwcTestSnapshots {
107-
if (project.bwc_tests_enabled) {
108-
for (final def version : bwcVersions.unreleasedWireCompatible) {
109-
dependsOn "v${version}#bwcTest"
110-
}
111-
}
112-
}
113-
check.dependsOn(bwcTestSnapshots)
114-
115-
test.enabled = false

0 commit comments

Comments
 (0)