1111
1212import org .elasticsearch .gradle .internal .info .GlobalBuildInfoPlugin ;
1313import org .elasticsearch .gradle .util .GradleUtils ;
14- import org .gradle .api .JavaVersion ;
1514import org .gradle .api .Plugin ;
1615import 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 ;
1719import 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
2322public 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}
0 commit comments