Skip to content

Commit 1e3fb65

Browse files
committed
address review comments
1 parent 508aec1 commit 1e3fb65

File tree

7 files changed

+18
-10
lines changed

7 files changed

+18
-10
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ testfixtures_shared/
6969
# Generated
7070
checkstyle_ide.xml
7171
x-pack/plugin/esql/src/main/generated-src/generated/
72+
server/src/main/resources/transport/defined/manifest.txt
7273

7374
# JEnv
7475
.java-version

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.gradle.api.DefaultTask;
1313
import org.gradle.api.file.ConfigurableFileCollection;
1414
import org.gradle.api.file.RegularFileProperty;
15+
import org.gradle.api.tasks.CacheableTask;
1516
import org.gradle.api.tasks.Classpath;
1617
import org.gradle.api.tasks.InputFiles;
1718
import org.gradle.api.tasks.OutputFile;
@@ -41,6 +42,7 @@
4142
* provided directory, and then records the value of string literals passed as arguments. It then records each
4243
* string on a newline along with path and line number in the provided output file.
4344
*/
45+
@CacheableTask
4446
public abstract class CollectTransportVersionReferencesTask extends DefaultTask {
4547
public static final String TRANSPORT_VERSION_SET_CLASS = "org/elasticsearch/TransportVersion";
4648
public static final String TRANSPORT_VERSION_SET_METHOD_NAME = "fromName";
@@ -50,7 +52,6 @@ public abstract class CollectTransportVersionReferencesTask extends DefaultTask
5052
/**
5153
* The directory to scan for method invocations.
5254
*/
53-
@InputFiles
5455
@Classpath
5556
public abstract ConfigurableFileCollection getClassPath();
5657

@@ -145,6 +146,6 @@ public void visitMethodInsn(int opcode, String owner, String name, String descri
145146
}
146147

147148
private static String classname(String filename) {
148-
return filename.substring(0, filename.length() - CLASS_EXTENSION.length()).replace('/', '.');
149+
return filename.substring(0, filename.length() - CLASS_EXTENSION.length()).replaceAll("[/\\\\]", ".");
149150
}
150151
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.gradle.api.artifacts.dsl.DependencyHandler;
1717
import org.gradle.api.plugins.JavaPlugin;
1818
import org.gradle.api.tasks.Copy;
19+
import org.gradle.language.base.plugins.LifecycleBasePlugin;
1920

2021
import java.util.ArrayList;
2122
import java.util.List;
@@ -25,6 +26,7 @@ public class GlobalTransportVersionManagementPlugin implements Plugin<Project> {
2526

2627
@Override
2728
public void apply(Project project) {
29+
project.getPluginManager().apply(LifecycleBasePlugin.class);
2830

2931
DependencyHandler depsHandler = project.getDependencies();
3032
List<Dependency> tvDependencies = new ArrayList<>();
@@ -51,7 +53,7 @@ public void apply(Project project) {
5153
t.getReferencesFiles().setFrom(tvReferencesConfig);
5254
});
5355

54-
project.getTasks().named("check").configure(t -> t.dependsOn(validateTask));
56+
project.getTasks().named(LifecycleBasePlugin.CHECK_TASK_NAME).configure(t -> t.dependsOn(validateTask));
5557

5658
var generateManifestTask = project.getTasks()
5759
.register("generateTransportVersionManifest", GenerateTransportVersionManifestTask.class, t -> {

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,21 @@
1414
import org.gradle.api.Project;
1515
import org.gradle.api.artifacts.Configuration;
1616
import org.gradle.api.tasks.SourceSet;
17+
import org.gradle.language.base.plugins.LifecycleBasePlugin;
1718

1819
public class TransportVersionManagementPlugin implements Plugin<Project> {
1920

2021
@Override
2122
public void apply(Project project) {
22-
String transportVersionReferencesFile = "transport-version/references.txt";
23+
project.getPluginManager().apply(LifecycleBasePlugin.class);
24+
2325
var collectTask = project.getTasks()
2426
.register("collectTransportVersionReferences", CollectTransportVersionReferencesTask.class, t -> {
2527
t.setGroup("Transport Versions");
2628
t.setDescription("Collects all TransportVersion references used throughout the project");
2729
SourceSet mainSourceSet = GradleUtils.getJavaSourceSets(project).findByName(SourceSet.MAIN_SOURCE_SET_NAME);
2830
t.getClassPath().setFrom(mainSourceSet.getRuntimeClasspath());
29-
t.getOutputFile().set(project.getLayout().getBuildDirectory().file(transportVersionReferencesFile));
31+
t.getOutputFile().set(project.getLayout().getBuildDirectory().file("transport-version/references.txt"));
3032
});
3133

3234
Configuration transportVersionsConfig = project.getConfigurations().create("transportVersionNames", c -> {
@@ -42,11 +44,9 @@ public void apply(Project project) {
4244
t.setGroup("Transport Versions");
4345
t.setDescription("Validates that all TransportVersion references used in the project have an associated definition file");
4446
t.getDefinitionsDirectory().set(TransportVersionUtils.getDefinitionsDirectory(project));
45-
t.getReferencesFile().set(project.getLayout().getBuildDirectory().file(transportVersionReferencesFile));
46-
t.dependsOn(collectTask);
47-
47+
t.getReferencesFile().set(collectTask.get().getOutputFile());
4848
});
4949

50-
project.getTasks().named("check").configure(t -> t.dependsOn(validateTask));
50+
project.getTasks().named(LifecycleBasePlugin.CHECK_TASK_NAME).configure(t -> t.dependsOn(validateTask));
5151
}
5252
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ static List<TransportVersionReference> readReferencesFile(Path file) throws IOEx
7373
}
7474

7575
static Directory getDefinitionsDirectory(Project project) {
76-
Directory serverDir = project.getRootProject().project(":server").getLayout().getProjectDirectory();
76+
Directory serverDir = project.project(":server").getLayout().getProjectDirectory();
7777
return serverDir.dir("src/main/resources/transport/defined");
7878
}
7979

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.gradle.api.DefaultTask;
1414
import org.gradle.api.file.ConfigurableFileCollection;
1515
import org.gradle.api.file.DirectoryProperty;
16+
import org.gradle.api.tasks.CacheableTask;
1617
import org.gradle.api.tasks.InputDirectory;
1718
import org.gradle.api.tasks.InputFiles;
1819
import org.gradle.api.tasks.TaskAction;
@@ -29,6 +30,7 @@
2930
/**
3031
* Validates that each defined transport version constant is referenced by at least one project.
3132
*/
33+
@CacheableTask
3234
public abstract class ValidateTransportVersionDefinitionsTask extends DefaultTask {
3335

3436
@InputDirectory

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.gradle.api.DefaultTask;
1313
import org.gradle.api.file.DirectoryProperty;
1414
import org.gradle.api.file.RegularFileProperty;
15+
import org.gradle.api.tasks.CacheableTask;
1516
import org.gradle.api.tasks.InputDirectory;
1617
import org.gradle.api.tasks.InputFile;
1718
import org.gradle.api.tasks.TaskAction;
@@ -23,6 +24,7 @@
2324
/**
2425
* Validates that each transport version named reference has a constant definition.
2526
*/
27+
@CacheableTask
2628
public abstract class ValidateTransportVersionReferencesTask extends DefaultTask {
2729

2830
@InputDirectory

0 commit comments

Comments
 (0)