Skip to content

Commit 965e774

Browse files
rjernstJVerwolf
andauthored
Add transport version generation task (#132772) (#134385)
* Add transport version generation task (#132772) This commit adds a gradle task which handles creating the resources for a new transport version. The task handles both creating the definition file with an appropriate set of transport version ids, as well as updating the upper bounds files. Co-authored-by: Ryan Ernst <[email protected]> * java 17 fixes --------- Co-authored-by: John Verwolf <[email protected]>
1 parent 783ebc0 commit 965e774

File tree

11 files changed

+927
-73
lines changed

11 files changed

+927
-73
lines changed

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

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import org.gradle.testkit.runner.BuildResult
1414
import org.gradle.testkit.runner.TaskOutcome
1515

1616
class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
17+
1718
def javaResource(String project, String path, String content) {
1819
file("${project}/src/main/resources/${path}").withWriter { writer ->
1920
writer << content
@@ -45,10 +46,18 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
4546
return referableAndReferencedTransportVersion(name, ids, "Test${name.capitalize()}")
4647
}
4748

48-
def referableAndReferencedTransportVersion(String name, String ids, String classname) {
49+
def referencedTransportVersion(String name) {
50+
referencedTransportVersion(name, "Test${name.capitalize()}")
51+
}
52+
53+
def referencedTransportVersion(String name, String classname) {
4954
javaSource("myserver", "org.elasticsearch", classname, "", """
5055
static final TransportVersion usage = TransportVersion.fromName("${name}");
5156
""")
57+
}
58+
59+
def referableAndReferencedTransportVersion(String name, String ids, String classname) {
60+
referencedTransportVersion(name, classname)
5261
referableTransportVersion(name, ids)
5362
}
5463

@@ -74,6 +83,20 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
7483
assertOutputContains(result.output, expectedOutput)
7584
}
7685

86+
void assertReferableDefinition(String name, String content) {
87+
File definitionFile = file("myserver/src/main/resources/transport/definitions/referable/${name}.csv")
88+
assert definitionFile.exists()
89+
assert definitionFile.text.strip() == content
90+
}
91+
92+
void assertReferableDefinitionDoesNotExist(String name) {
93+
assert file("myserver/src/main/resources/transport/definitions/referable/${name}.csv").exists() == false
94+
}
95+
96+
void assertUpperBound(String name, String content) {
97+
assert file("myserver/src/main/resources/transport/upper_bounds/${name}.csv").text.strip() == content
98+
}
99+
77100
def setup() {
78101
configurationCacheCompatible = false
79102
internalBuild()
@@ -86,12 +109,17 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
86109
apply plugin: 'java-library'
87110
apply plugin: 'elasticsearch.transport-version-references'
88111
apply plugin: 'elasticsearch.transport-version-resources'
112+
113+
tasks.named('generateTransportVersionDefinition') {
114+
currentUpperBoundName = '9.2'
115+
}
89116
"""
90117
referableTransportVersion("existing_91", "8012000")
91118
referableTransportVersion("existing_92", "8123000,8012001")
92119
unreferableTransportVersion("initial_9_0_0", "8000000")
93120
transportVersionUpperBound("9.2", "existing_92", "8123000")
94121
transportVersionUpperBound("9.1", "existing_92", "8012001")
122+
transportVersionUpperBound("9.0", "initial_9_0_0", "8000000")
95123
// a mock version of TransportVersion, just here so we can compile Dummy.java et al
96124
javaSource("myserver", "org.elasticsearch", "TransportVersion", "", """
97125
public static TransportVersion fromName(String name) {

0 commit comments

Comments
 (0)