Skip to content

Commit fb16829

Browse files
committed
Rework internalClusterTest to support test suites
1 parent 33dcc92 commit fb16829

File tree

4 files changed

+24
-18
lines changed

4 files changed

+24
-18
lines changed

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

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@
1111

1212
import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin;
1313
import org.elasticsearch.gradle.util.GradleUtils;
14-
import org.gradle.api.JavaVersion;
1514
import org.gradle.api.Plugin;
1615
import org.gradle.api.Project;
16+
import org.gradle.api.plugins.JavaPlugin;
17+
import org.gradle.api.plugins.JvmTestSuitePlugin;
18+
import org.gradle.api.plugins.jvm.JvmTestSuite;
1719
import org.gradle.api.tasks.SourceSet;
18-
import org.gradle.api.tasks.TaskProvider;
19-
import org.gradle.api.tasks.testing.Test;
20-
21-
import static org.elasticsearch.gradle.internal.util.ParamsUtils.loadBuildParams;
20+
import org.gradle.testing.base.TestingExtension;
2221

2322
public class InternalClusterTestPlugin implements Plugin<Project> {
2423

@@ -27,19 +26,18 @@ public class InternalClusterTestPlugin implements Plugin<Project> {
2726
@Override
2827
public void apply(Project project) {
2928
project.getRootProject().getPlugins().apply(GlobalBuildInfoPlugin.class);
30-
var buildParams = loadBuildParams(project).get();
31-
32-
TaskProvider<Test> internalClusterTest = GradleUtils.addTestSourceSet(project, SOURCE_SET_NAME);
33-
internalClusterTest.configure(task -> {
34-
// Set GC options to mirror defaults in jvm.options
35-
if (buildParams.getRuntimeJavaVersion().get().compareTo(JavaVersion.VERSION_14) < 0) {
36-
task.jvmArgs("-XX:+UseConcMarkSweepGC", "-XX:CMSInitiatingOccupancyFraction=75", "-XX:+UseCMSInitiatingOccupancyOnly");
37-
} else {
38-
task.jvmArgs("-XX:+UseG1GC");
39-
}
29+
project.getPluginManager().apply(JavaPlugin.class);
30+
project.getPluginManager().apply(JvmTestSuitePlugin.class);
31+
TestingExtension testing = project.getExtensions().getByType(TestingExtension.class);
32+
testing.getSuites().register(SOURCE_SET_NAME, JvmTestSuite.class, suite -> {
33+
suite.useJUnit();
34+
suite.getDependencies().getImplementation().add(suite.getDependencies().project());
35+
suite.getTargets().all(target -> { target.getTestTask().configure(test -> { test.jvmArgs("-XX:+UseG1GC"); }); });
4036
});
4137

42-
// TODO: fix usages of IT tests depending on Tests methods so this extension is not necessary
43-
GradleUtils.extendSourceSet(project, SourceSet.TEST_SOURCE_SET_NAME, SOURCE_SET_NAME);
38+
project.getPluginManager().withPlugin("java", plugin -> {
39+
// TODO: fix usages of IT tests depending on Tests methods so this extension is not necessary
40+
GradleUtils.extendSourceSet(project, SourceSet.TEST_SOURCE_SET_NAME, SOURCE_SET_NAME);
41+
});
4442
}
4543
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.elasticsearch.gradle.internal.test.rest;
2+
3+
public class DefaultElasticsearchRestTestSuite {
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.elasticsearch.gradle.internal.test.rest;
2+
3+
public interface ElasticsearchRestTestSuite {
4+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ public static boolean isModuleProject(String projectPath) {
196196
}
197197

198198
public static void disableTransitiveDependencies(Configuration config) {
199-
config.getDependencies().all(dep -> {
199+
config.getDependencies().configureEach(dep -> {
200200
if (dep instanceof ModuleDependency
201201
&& dep instanceof ProjectDependency == false
202202
&& dep.getGroup().startsWith("org.elasticsearch") == false) {

0 commit comments

Comments
 (0)