Skip to content

Commit a4c62df

Browse files
committed
more feedback
1 parent 49dca33 commit a4c62df

File tree

6 files changed

+20
-23
lines changed

6 files changed

+20
-23
lines changed

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

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
import org.gradle.api.file.RegularFileProperty;
1515
import org.gradle.api.tasks.CacheableTask;
1616
import org.gradle.api.tasks.Classpath;
17-
import org.gradle.api.tasks.InputFiles;
1817
import org.gradle.api.tasks.OutputFile;
18+
import org.gradle.api.tasks.PathSensitive;
19+
import org.gradle.api.tasks.PathSensitivity;
1920
import org.gradle.api.tasks.TaskAction;
2021
import org.objectweb.asm.ClassReader;
2122
import org.objectweb.asm.ClassVisitor;
@@ -70,9 +71,6 @@ public void checkTransportVersion() throws IOException {
7071
Path file = cpElement.toPath();
7172
if (Files.isDirectory(file)) {
7273
addNamesFromClassesDirectory(results, file);
73-
} else {
74-
assert file.getFileName().toString().endsWith(".jar");
75-
addNamesFromJar(results, file);
7674
}
7775
}
7876

@@ -95,18 +93,6 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO
9593
});
9694
}
9795

98-
private void addNamesFromJar(Set<TransportVersionUtils.TransportVersionReference> results, Path file) throws IOException {
99-
try (var jar = new JarInputStream(Files.newInputStream(file))) {
100-
ZipEntry entry;
101-
while ((entry = jar.getNextEntry()) != null) {
102-
String filename = entry.getName();
103-
if (filename.endsWith(CLASS_EXTENSION) && filename.endsWith(MODULE_INFO) == false) {
104-
addNamesFromClass(results, jar, classname(entry.toString()));
105-
}
106-
}
107-
}
108-
}
109-
11096
private void addNamesFromClass(Set<TransportVersionUtils.TransportVersionReference> results, InputStream classBytes, String classname)
11197
throws IOException {
11298
ClassVisitor classVisitor = new ClassVisitor(Opcodes.ASM9) {

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,12 @@ public void apply(Project project) {
3030
project.getPluginManager().apply(LifecycleBasePlugin.class);
3131

3232
DependencyHandler depsHandler = project.getDependencies();
33-
Dependency selfDependency = depsHandler.project(Map.of("path", project.getPath()));
34-
Configuration tvReferencesConfig = project.getConfigurations().detachedConfiguration(selfDependency);
33+
Configuration tvReferencesConfig = project.getConfigurations().detachedConfiguration();
3534
tvReferencesConfig.attributes(TransportVersionUtils::addTransportVersionReferencesAttribute);
3635

37-
// iterate through all projects, and if the ES plugin build plugin is applied, add that project back as a dep to check
36+
// iterate through all projects, and if the management plugin is applied, add that project back as a dep to check
3837
for (Project subProject : project.getRootProject().getSubprojects()) {
39-
subProject.getPlugins().withType(BaseInternalPluginBuildPlugin.class).configureEach(plugin -> {
38+
subProject.getPlugins().withType(TransportVersionManagementPlugin.class).configureEach(plugin -> {
4039
tvReferencesConfig.getDependencies().add(depsHandler.project(Map.of("path", subProject.getPath())));
4140
});
4241
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,15 @@ public void apply(Project project) {
2727
t.setGroup("Transport Versions");
2828
t.setDescription("Collects all TransportVersion references used throughout the project");
2929
SourceSet mainSourceSet = GradleUtils.getJavaSourceSets(project).findByName(SourceSet.MAIN_SOURCE_SET_NAME);
30-
t.getClassPath().setFrom(mainSourceSet.getRuntimeClasspath());
30+
t.getClassPath().setFrom(mainSourceSet.getOutput());
3131
t.getOutputFile().set(project.getLayout().getBuildDirectory().file("transport-version/references.txt"));
3232
});
3333

34-
Configuration tvReferencesConfig = project.getConfigurations().detachedConfiguration();
35-
tvReferencesConfig.attributes(TransportVersionUtils::addTransportVersionReferencesAttribute);
34+
Configuration tvReferencesConfig = project.getConfigurations().create("transportVersionReferences", c -> {
35+
c.setCanBeConsumed(true);
36+
c.setCanBeResolved(false);
37+
c.attributes(TransportVersionUtils::addTransportVersionReferencesAttribute);
38+
});
3639
project.getArtifacts().add(tvReferencesConfig.getName(), collectTask);
3740

3841
var validateTask = project.getTasks()

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.gradle.api.tasks.CacheableTask;
1717
import org.gradle.api.tasks.InputDirectory;
1818
import org.gradle.api.tasks.InputFiles;
19+
import org.gradle.api.tasks.PathSensitive;
20+
import org.gradle.api.tasks.PathSensitivity;
1921
import org.gradle.api.tasks.TaskAction;
2022

2123
import java.io.IOException;
@@ -34,9 +36,11 @@
3436
public abstract class ValidateTransportVersionDefinitionsTask extends DefaultTask {
3537

3638
@InputDirectory
39+
@PathSensitive(PathSensitivity.RELATIVE)
3740
public abstract DirectoryProperty getDefinitionsDirectory();
3841

3942
@InputFiles
43+
@PathSensitive(PathSensitivity.RELATIVE)
4044
public abstract ConfigurableFileCollection getReferencesFiles();
4145

4246
@TaskAction

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import org.gradle.api.tasks.CacheableTask;
1616
import org.gradle.api.tasks.InputDirectory;
1717
import org.gradle.api.tasks.InputFile;
18+
import org.gradle.api.tasks.PathSensitive;
19+
import org.gradle.api.tasks.PathSensitivity;
1820
import org.gradle.api.tasks.TaskAction;
1921

2022
import java.io.IOException;
@@ -28,9 +30,11 @@
2830
public abstract class ValidateTransportVersionReferencesTask extends DefaultTask {
2931

3032
@InputDirectory
33+
@PathSensitive(PathSensitivity.RELATIVE)
3134
public abstract DirectoryProperty getDefinitionsDirectory();
3235

3336
@InputFile
37+
@PathSensitive(PathSensitivity.RELATIVE)
3438
public abstract RegularFileProperty getReferencesFile();
3539

3640
@TaskAction

x-pack/plugin/esql/compute/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import org.elasticsearch.gradle.internal.util.SourceDirectoryCommandLineArgument
33
apply plugin: 'elasticsearch.build'
44
apply plugin: 'elasticsearch.string-templates'
55
apply plugin: 'elasticsearch.publish'
6+
apply plugin: 'elasticsearch.transport-version-management'
67

78
base {
89
archivesName = 'x-pack-esql-compute'

0 commit comments

Comments
 (0)