11
11
12
12
import org .elasticsearch .gradle .internal .info .GlobalBuildInfoPlugin ;
13
13
import org .elasticsearch .gradle .util .GradleUtils ;
14
- import org .gradle .api .JavaVersion ;
15
14
import org .gradle .api .Plugin ;
16
15
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 ;
17
19
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 ;
22
21
23
22
public class InternalClusterTestPlugin implements Plugin <Project > {
24
23
@@ -27,19 +26,18 @@ public class InternalClusterTestPlugin implements Plugin<Project> {
27
26
@ Override
28
27
public void apply (Project project ) {
29
28
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" ); }); });
40
36
});
41
37
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
+ });
44
42
}
45
43
}
0 commit comments