File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed
src/main/java/org/gradlex/javamodule/testing Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change 1717package org .gradlex .javamodule .testing ;
1818
1919import org .gradle .api .file .FileCollection ;
20+ import org .gradle .testing .base .TestingExtension ;
2021import org .gradlex .javamodule .testing .internal .ModuleInfoParser ;
2122import org .gradlex .javamodule .testing .internal .bridges .JavaModuleDependenciesBridge ;
2223import org .gradlex .javamodule .testing .internal .provider .WhiteboxTestCompileArgumentProvider ;
3940import org .gradle .testing .base .TestSuite ;
4041
4142import javax .inject .Inject ;
43+ import java .io .File ;
4244
4345@ SuppressWarnings ("UnstableApiUsage" )
4446public abstract class JavaModuleTestingExtension {
@@ -51,6 +53,19 @@ public abstract class JavaModuleTestingExtension {
5153 public JavaModuleTestingExtension (Project project , JavaModuleDetector moduleDetector ) {
5254 this .project = project ;
5355 this .moduleDetector = moduleDetector ;
56+
57+ TestingExtension testing = project .getExtensions ().getByType (TestingExtension .class );
58+ testing .getSuites ().withType (JvmTestSuite .class ).configureEach (jvmTestSuite -> {
59+ boolean isTestModule = jvmTestSuite .getSources ().getJava ().getSrcDirs ().stream ().anyMatch (src -> new File (src , "module-info.java" ).exists ());
60+ if ("test" .equals (jvmTestSuite .getName ())) {
61+ jvmTestSuite .useJUnitJupiter (); // override old Gradle default to default to JUnit5 for all suites
62+ }
63+ if (isTestModule ) {
64+ blackbox (jvmTestSuite );
65+ } else {
66+ whitebox (jvmTestSuite , conf -> conf .getOpensTo ().add ("org.junit.platform.commons" ));
67+ }
68+ });
5469 }
5570
5671 /**
Original file line number Diff line number Diff line change 1919import org .gradle .api .NonNullApi ;
2020import org .gradle .api .Plugin ;
2121import org .gradle .api .Project ;
22+ import org .gradle .api .plugins .JvmTestSuitePlugin ;
2223import org .gradle .util .GradleVersion ;
2324
2425@ SuppressWarnings ("unused" )
@@ -30,7 +31,7 @@ public void apply(Project project) {
3031 if (GradleVersion .current ().compareTo (GradleVersion .version ("7.4" )) < 0 ) {
3132 throw new RuntimeException ("This plugin requires Gradle 7.4+" );
3233 }
33-
34- project .getExtensions ().create ("javaModuleTesting" , JavaModuleTestingExtension .class );
34+ project . getPlugins (). withType ( JvmTestSuitePlugin . class , p ->
35+ project .getExtensions ().create ("javaModuleTesting" , JavaModuleTestingExtension .class ) );
3536 }
3637}
You can’t perform that action at this time.
0 commit comments