Skip to content

Commit b4bba12

Browse files
committed
WIP
1 parent 112de1b commit b4bba12

17 files changed

+48
-73
lines changed

build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/LicenseHeadersPrecommitPlugin.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.gradle.api.tasks.TaskProvider;
1919

2020
import javax.inject.Inject;
21-
import java.util.stream.Collectors;
2221

2322
public class LicenseHeadersPrecommitPlugin extends PrecommitPlugin {
2423
@Inject
@@ -31,8 +30,7 @@ public TaskProvider<? extends Task> createTask(Project project) {
3130
return project.getTasks().register("licenseHeaders", LicenseHeadersTask.class, licenseHeadersTask -> {
3231
project.getPlugins().withType(JavaBasePlugin.class, javaBasePlugin -> {
3332
final SourceSetContainer sourceSets = project.getExtensions().getByType(JavaPluginExtension.class).getSourceSets();
34-
licenseHeadersTask.getSourceFolders()
35-
.addAll(providerFactory.provider(() -> sourceSets.stream().map(s -> s.getAllJava()).collect(Collectors.toList())));
33+
sourceSets.configureEach(sourceSet -> { licenseHeadersTask.getSourceFolders().add(sourceSet.getAllJava()); });
3634
});
3735
});
3836
}

build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/precommit/PrecommitTaskPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void apply(Project project) {
3434
);
3535
project.getPluginManager().withPlugin("java-base", p -> {
3636
// run compilation as part of precommit
37-
project.getExtensions().getByType(JavaPluginExtension.class).getSourceSets().all(sourceSet ->
37+
project.getExtensions().getByType(JavaPluginExtension.class).getSourceSets().configureEach(sourceSet ->
3838
precommit.configure(t -> t.dependsOn(sourceSet.getClassesTaskName()))
3939
);
4040
// make sure tests run after all precommit tasks

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public static void configureConfigurations(Project project) {
9999
return;
100100
}
101101
// fail on any conflicting dependency versions
102-
project.getConfigurations().all(configuration -> {
102+
project.getConfigurations().configureEach(configuration -> {
103103
if (configuration.getName().endsWith("Fixture")) {
104104
// just a self contained test-fixture configuration, likely transitive and hellacious
105105
return;
@@ -109,17 +109,17 @@ public static void configureConfigurations(Project project) {
109109

110110
// disable transitive dependency management
111111
SourceSetContainer sourceSets = project.getExtensions().getByType(SourceSetContainer.class);
112-
sourceSets.all(sourceSet -> disableTransitiveDependenciesForSourceSet(project, sourceSet));
112+
sourceSets.configureEach(sourceSet -> disableTransitiveDependenciesForSourceSet(project, sourceSet));
113113
}
114114

115115
private static void disableTransitiveDependenciesForSourceSet(Project project, SourceSet sourceSet) {
116+
116117
List<String> sourceSetConfigurationNames = List.of(
117118
sourceSet.getApiConfigurationName(),
118119
sourceSet.getImplementationConfigurationName(),
119120
sourceSet.getCompileOnlyConfigurationName(),
120121
sourceSet.getRuntimeOnlyConfigurationName()
121122
);
122-
123123
project.getConfigurations()
124124
.matching(c -> sourceSetConfigurationNames.contains(c.getName()))
125125
.configureEach(GradleUtils::disableTransitiveDependencies);

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,11 @@ public void execute(Task task) {
7878

7979
private void configureJavadocForConfiguration(Project project, boolean shadow, Configuration configuration) {
8080
configuration.getAllDependencies()
81-
.stream()
82-
.sorted(Comparator.comparing(Dependency::getGroup))
83-
.filter(d -> d instanceof ProjectDependency)
84-
.map(d -> (ProjectDependency) d)
85-
.forEach(projectDependency -> configureDependency(project, shadow, projectDependency));
81+
.configureEach(dependency -> {
82+
if(dependency instanceof ProjectDependency) {
83+
configureDependency(project, shadow, (ProjectDependency) dependency);
84+
}
85+
});
8686
}
8787

8888
private void configureDependency(Project project, boolean shadowed, ProjectDependency dep) {

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class InternalTestArtifactPlugin implements Plugin<Project> {
2424
public void apply(Project project) {
2525
project.getPlugins().apply(InternalTestArtifactBasePlugin.class);
2626
InternalTestArtifactExtension testArtifactExtension = project.getExtensions().getByType(InternalTestArtifactExtension.class);
27-
project.getExtensions().getByType(SourceSetContainer.class).all(sourceSet -> {
27+
project.getExtensions().getByType(SourceSetContainer.class).configureEach(sourceSet -> {
2828
if (sourceSet.getName().equals(SourceSet.MAIN_SOURCE_SET_NAME) == false) {
2929
testArtifactExtension.registerTestArtifactFromSourceSet(sourceSet);
3030
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public void execute(Task task) {
115115
JavaBasePlugin.class,
116116
javaBasePlugin -> project.getExtensions()
117117
.getByType(SourceSetContainer.class)
118-
.all(
118+
.configureEach(
119119
sourceSet -> project.getTasks()
120120
.withType(Checkstyle.class)
121121
.named(sourceSet.getTaskName("checkstyle", null))

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/FilePermissionsPrecommitPlugin.java

+4-14
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
import org.gradle.api.provider.ProviderFactory;
1717
import org.gradle.api.tasks.TaskProvider;
1818

19-
import java.util.stream.Collectors;
20-
2119
import javax.inject.Inject;
2220

2321
public class FilePermissionsPrecommitPlugin extends PrecommitPlugin {
@@ -33,18 +31,10 @@ public FilePermissionsPrecommitPlugin(ProviderFactory providerFactory) {
3331
@Override
3432
public TaskProvider<? extends Task> createTask(Project project) {
3533
return project.getTasks().register(FILEPERMISSIONS_TASK_NAME, FilePermissionsTask.class, t -> {
36-
t.getSources()
37-
.addAll(
38-
providerFactory.provider(
39-
() -> GradleUtils.getJavaSourceSets(project).stream().map(s -> s.getAllSource()).collect(Collectors.toList())
40-
)
41-
);
42-
t.dependsOn(
43-
GradleUtils.getJavaSourceSets(project)
44-
.stream()
45-
.map(sourceSet -> sourceSet.getProcessResourcesTaskName())
46-
.collect(Collectors.toList())
47-
);
34+
GradleUtils.getJavaSourceSets(project).configureEach(sourceSet -> {
35+
t.getSources().add(sourceSet.getAllSource());
36+
t.dependsOn(sourceSet.getProcessResourcesTaskName());
37+
});
4838
});
4939
}
5040
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/ForbiddenPatternsPrecommitPlugin.java

+5-11
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,11 @@ public ForbiddenPatternsPrecommitPlugin(ProviderFactory providerFactory) {
3333
@Override
3434
public TaskProvider<? extends Task> createTask(Project project) {
3535
return project.getTasks().register(FORBIDDEN_PATTERNS_TASK_NAME, ForbiddenPatternsTask.class, forbiddenPatternsTask -> {
36-
forbiddenPatternsTask.getSourceFolders()
37-
.addAll(
38-
providerFactory.provider(
39-
() -> GradleUtils.getJavaSourceSets(project).stream().map(s -> s.getAllSource()).collect(Collectors.toList())
40-
)
41-
);
42-
forbiddenPatternsTask.dependsOn(
43-
GradleUtils.getJavaSourceSets(project)
44-
.stream()
45-
.map(sourceSet -> sourceSet.getProcessResourcesTaskName())
46-
.collect(Collectors.toList())
36+
GradleUtils.getJavaSourceSets(project).configureEach(
37+
sourceSet -> {
38+
forbiddenPatternsTask.getSourceFolders().add(sourceSet.getAllSource());
39+
forbiddenPatternsTask.dependsOn(sourceSet.getProcessResourcesTaskName());
40+
}
4741
);
4842
forbiddenPatternsTask.getRootDir().set(project.getRootDir());
4943
});

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/JavaModulePrecommitPlugin.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import org.elasticsearch.gradle.internal.conventions.precommit.PrecommitPlugin;
1313
import org.elasticsearch.gradle.util.GradleUtils;
14+
import org.gradle.api.Action;
1415
import org.gradle.api.Project;
1516
import org.gradle.api.Task;
1617
import org.gradle.api.plugins.JavaPlugin;
@@ -25,12 +26,13 @@ public class JavaModulePrecommitPlugin extends PrecommitPlugin {
2526
public TaskProvider<? extends Task> createTask(Project project) {
2627
TaskProvider<JavaModulePrecommitTask> task = project.getTasks().register(TASK_NAME, JavaModulePrecommitTask.class);
2728
task.configure(t -> {
28-
SourceSet mainSourceSet = GradleUtils.getJavaSourceSets(project).findByName(SourceSet.MAIN_SOURCE_SET_NAME);
29-
t.dependsOn(mainSourceSet.getClassesTaskName());
30-
t.getSrcDirs().set(project.provider(() -> mainSourceSet.getAllSource().getSrcDirs()));
31-
t.setClasspath(project.getConfigurations().getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME));
32-
t.setClassesDirs(mainSourceSet.getOutput().getClassesDirs());
33-
t.setResourcesDirs(mainSourceSet.getOutput().getResourcesDir());
29+
GradleUtils.getJavaSourceSets(project).named(SourceSet.MAIN_SOURCE_SET_NAME).configure(sourceSet -> {
30+
t.dependsOn(sourceSet.getClassesTaskName());
31+
t.getSrcDirs().set(project.provider(() -> sourceSet.getAllSource().getSrcDirs()));
32+
t.setClasspath(project.getConfigurations().getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME));
33+
t.setClassesDirs(sourceSet.getOutput().getClassesDirs());
34+
t.setResourcesDirs(sourceSet.getOutput().getResourcesDir());
35+
});
3436
});
3537
return task;
3638
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/LoggerUsagePrecommitPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public TaskProvider<? extends Task> createTask(Project project) {
3333
sourceSets.matching(
3434
sourceSet -> sourceSet.getName().equals(SourceSet.MAIN_SOURCE_SET_NAME)
3535
|| sourceSet.getName().equals(SourceSet.TEST_SOURCE_SET_NAME)
36-
).all(sourceSet -> loggerUsage.configure(t -> t.addSourceSet(sourceSet)));
36+
).configureEach(sourceSet -> loggerUsage.configure(t -> t.addSourceSet(sourceSet)));
3737

3838
loggerUsage.configure(
3939
t -> t.setClasspath(loggerUsageConfig)

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/SplitPackagesAuditPrecommitPlugin.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ public TaskProvider<? extends Task> createTask(Project project) {
3030
task.configure(t -> {
3131
t.setProjectBuildDirs(getProjectBuildDirs(project));
3232
t.setClasspath(project.getConfigurations().getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME));
33-
SourceSet mainSourceSet = GradleUtils.getJavaSourceSets(project).findByName(SourceSet.MAIN_SOURCE_SET_NAME);
34-
t.dependsOn(mainSourceSet.getJava().getSourceDirectories());
35-
t.getSrcDirs().set(project.provider(() -> mainSourceSet.getAllSource().getSrcDirs()));
33+
GradleUtils.getJavaSourceSets(project).named(SourceSet.MAIN_SOURCE_SET_NAME).configure(sourceSet -> {
34+
t.dependsOn(sourceSet.getJava().getSourceDirectories());
35+
t.getSrcDirs().set(project.provider(() -> sourceSet.getAllSource().getSrcDirs()));
36+
});
37+
3638
});
3739
return task;
3840
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/InternalClusterTestPlugin.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.elasticsearch.gradle.util.GradleUtils;
1414
import org.gradle.api.Plugin;
1515
import org.gradle.api.Project;
16+
import org.gradle.api.artifacts.dsl.DependencyCollector;
1617
import org.gradle.api.plugins.JavaPlugin;
1718
import org.gradle.api.plugins.JvmTestSuitePlugin;
1819
import org.gradle.api.plugins.jvm.JvmTestSuite;
@@ -32,7 +33,8 @@ public void apply(Project project) {
3233

3334
testing.getSuites().register(SOURCE_SET_NAME, JvmTestSuite.class, suite -> {
3435
suite.useJUnit();
35-
suite.getDependencies().getImplementation().add(suite.getDependencies().project());
36+
DependencyCollector implementation = suite.getDependencies().getImplementation();
37+
implementation.add(suite.getDependencies().project());
3638
suite.getTargets().configureEach(target -> { target.getTestTask().configure(test -> { test.jvmArgs("-XX:+UseG1GC"); }); });
3739
});
3840

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/TestWithDependenciesPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void apply(final Project project) {
4747
}
4848

4949
Configuration testImplementationConfig = project.getConfigurations().getByName("testImplementation");
50-
testImplementationConfig.getDependencies().all(dep -> {
50+
testImplementationConfig.getDependencies().configureEach(dep -> {
5151
if (dep instanceof ProjectDependency && dep.getGroup().contains("plugin")) {
5252
addPluginResources(project, ((ProjectDependency) dep));
5353
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/testfixtures/TestFixturesDeployPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ private static void registerDeployTaskPerFixture(
4242
NamedDomainObjectContainer<TestFixtureDeployment> fixtures,
4343
boolean isCi
4444
) {
45-
fixtures.all(
45+
fixtures.configureEach(
4646
fixture -> project.getTasks()
4747
.register("deploy" + StringUtils.capitalize(fixture.getName()) + "DockerImage", DockerBuildTask.class, task -> {
4848
task.getDockerContext().fileValue(fixture.getDockerContext().get());

build-tools/src/main/java/org/elasticsearch/gradle/util/GradleUtils.java

-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ public static boolean isModuleProject(String projectPath) {
196196
}
197197

198198
public static void disableTransitiveDependencies(Configuration config) {
199-
System.out.println("config = " + config);
200199
config.getDependencies().configureEach(dep -> {
201200
if (dep instanceof ModuleDependency
202201
&& dep instanceof ProjectDependency == false

build.gradle

-13
Original file line numberDiff line numberDiff line change
@@ -396,19 +396,6 @@ allprojects {
396396
tasks.matching { it.name.equals('integTest') }.configureEach { integTestTask ->
397397
integTestTask.mustRunAfter tasks.matching { it.name.equals("test") }
398398
}
399-
400-
/* configurations.matching { it.canBeResolved }.all { Configuration configuration ->
401-
dependencies.matching { it instanceof ProjectDependency }.all { ProjectDependency dep ->
402-
Project upstreamProject = dep.dependencyProject
403-
if (project.path != upstreamProject?.path) {
404-
for (String taskName : ['test', 'integTest']) {
405-
project.tasks.matching { it.name == taskName }.configureEach { task ->
406-
task.shouldRunAfter(upstreamProject.tasks.matching { upStreamTask -> upStreamTask.name == taskName })
407-
}
408-
}
409-
}
410-
}
411-
}*/
412399
}
413400

414401
apply plugin: 'elasticsearch.formatting'

modules/repository-s3/build.gradle

+8-7
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ tasks.named('check') {
4747

4848
testing {
4949
suites {
50+
configureEach {
51+
dependencies {
52+
implementation project(':test:framework')
53+
implementation project(':test:fixtures:s3-fixture')
54+
runtimeOnly "org.slf4j:slf4j-simple:${versions.slf4j}"
55+
}
56+
}
5057
internalClusterTest {
5158
dependencies {
5259
implementation project(':test:fixtures:minio-fixture')
@@ -72,13 +79,7 @@ testing {
7279
implementation project(':test:fixtures:testcontainer-utils')
7380
}
7481
}
75-
configureEach {
76-
dependencies {
77-
implementation project(':test:framework')
78-
implementation project(':test:fixtures:s3-fixture')
79-
runtimeOnly "org.slf4j:slf4j-simple:${versions.slf4j}"
80-
}
81-
}
82+
8283
}
8384
}
8485

0 commit comments

Comments
 (0)