Skip to content

Commit 3d30062

Browse files
committed
wired manifest task
1 parent 8c8c7c4 commit 3d30062

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

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

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import org.gradle.api.artifacts.Configuration;
1515
import org.gradle.api.artifacts.Dependency;
1616
import org.gradle.api.artifacts.dsl.DependencyHandler;
17+
import org.gradle.api.plugins.JavaPlugin;
18+
import org.gradle.api.tasks.Copy;
1719

1820
import java.util.ArrayList;
1921
import java.util.List;
@@ -38,15 +40,26 @@ public void apply(Project project) {
3840
}
3941
tvDependencies.add(depsHandler.project(Map.of("path", ":server")));
4042

41-
Configuration tvNamesConfig = project.getConfigurations().detachedConfiguration(tvDependencies.toArray(new Dependency[0]));
42-
tvNamesConfig.attributes(TransportVersionUtils::addTransportVersionReferencesAttribute);
43+
Configuration tvReferencesConfig = project.getConfigurations().detachedConfiguration(tvDependencies.toArray(new Dependency[0]));
44+
tvReferencesConfig.attributes(TransportVersionUtils::addTransportVersionReferencesAttribute);
45+
46+
var generateManifestTask = project.getTasks()
47+
.register("generateTransportVersionManifest", GenerateTransportVersionManifestTask.class, t -> {
48+
t.setGroup("Transport Versions");
49+
t.setDescription("Generate a manifest resource for all the known transport version constants");
50+
t.getConstantsDirectory().set(TransportVersionUtils.getConstantsDirectory(project));
51+
t.getManifestFile().set(project.getLayout().getBuildDirectory().file("generated-resources/manifest.txt"));
52+
});
53+
project.getTasks().named(JavaPlugin.PROCESS_RESOURCES_TASK_NAME, Copy.class).configure(t -> {
54+
t.into("transport/constants", c -> c.from(generateManifestTask));
55+
});
4356

4457
var validateTask = project.getTasks()
4558
.register("validateTransportVersionConstants", ValidateTransportVersionConstantsTask.class, t -> {
4659
t.setGroup("Transport Versions");
4760
t.setDescription("Validates that all defined TransportVersion constants are used in at least one project");
4861
t.getConstantsDirectory().set(TransportVersionUtils.getConstantsDirectory(project));
49-
t.getReferencesFiles().setFrom(tvNamesConfig);
62+
t.getReferencesFiles().setFrom(tvReferencesConfig);
5063
});
5164

5265
project.getTasks().named("check").configure(t -> t.dependsOn(validateTask));

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ public class TransportVersionManagementPlugin implements Plugin<Project> {
1919

2020
@Override
2121
public void apply(Project project) {
22-
String transportVersionsNamesFile = "generated-transport-constants/transport-version-set-names.txt";
22+
String transportVersionReferencesFile = "generated-transport-constants/transport-version-set-names.txt";
2323
var collectTask = project.getTasks().register("collectTransportVersionNames", CollectTransportVersionNamesTask.class, t -> {
2424
t.setGroup("Transport Versions");
2525
t.setDescription("Collects all TransportVersion names used throughout the project");
2626
SourceSet mainSourceSet = GradleUtils.getJavaSourceSets(project).findByName(SourceSet.MAIN_SOURCE_SET_NAME);
2727
t.getClassPath().setFrom(mainSourceSet.getRuntimeClasspath());
28-
t.getOutputFile().set(project.getLayout().getBuildDirectory().file(transportVersionsNamesFile));
28+
t.getOutputFile().set(project.getLayout().getBuildDirectory().file(transportVersionReferencesFile));
2929
});
3030

3131
Configuration transportVersionsConfig = project.getConfigurations().create("transportVersionNames", c -> {
@@ -41,7 +41,7 @@ public void apply(Project project) {
4141
t.setGroup("Transport Versions");
4242
t.setDescription("Validates that all TransportVersion names used in the project have an associated data file");
4343
t.getConstantsDirectory().set(TransportVersionUtils.getConstantsDirectory(project));
44-
t.getReferencesFile().set(project.getLayout().getBuildDirectory().file(transportVersionsNamesFile));
44+
t.getReferencesFile().set(project.getLayout().getBuildDirectory().file(transportVersionReferencesFile));
4545
t.dependsOn(collectTask);
4646

4747
});

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ plugins {
5151
id 'elasticsearch.repositories'
5252
id 'elasticsearch.release-tools'
5353
id 'elasticsearch.versions'
54-
id 'elasticsearch.global-transport-version-management'
5554
id 'com.gradleup.nmcp.aggregation'
5655
}
5756

server/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ apply plugin: 'elasticsearch.internal-cluster-test'
1313
apply plugin: 'elasticsearch.internal-test-artifact'
1414
apply plugin: 'elasticsearch.test-build-info'
1515
apply plugin: 'elasticsearch.transport-version-management'
16+
apply plugin: 'elasticsearch.global-transport-version-management'
1617

1718
publishing {
1819
publications {

0 commit comments

Comments
 (0)