This is an automated email from the ASF dual-hosted git repository. tibordigana pushed a commit to branch SUREFIRE-1531 in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
commit c39b00bbd90c2e6c11018c4988c20c164d7d6a1b Author: Lukas Krecan <lu...@krecan.net> AuthorDate: Sun Jul 1 08:54:22 2018 +0200 [SUREFIRE-1531] Option to disable Java 9 modules --- .../plugin/surefire/AbstractSurefireMojo.java | 36 ++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java index 319f21d..062454b 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java @@ -104,6 +104,7 @@ import java.util.SortedSet; import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; +import static java.lang.Boolean.TRUE; import static java.lang.Thread.currentThread; import static java.util.Arrays.asList; import static java.util.Collections.addAll; @@ -728,6 +729,20 @@ public abstract class AbstractSurefireMojo @Parameter( property = "dependenciesToScan" ) private String[] dependenciesToScan; + /** + * Disables Jigsaw (Java 9) modular path even if <i>module-info.java</i> is used in project. + * <br> + * Enabled by default. + * If enabled, <i>module-info.java</i> exists and executes with JDK 9+, modular path is used. + * + * @since 3.0.0-M2 + */ + @Parameter( property = "useJigsawModules", defaultValue = "true" ) + private boolean useJigsawModules; + + /** + * + */ @Component private ToolchainManager toolchainManager; @@ -954,7 +969,7 @@ public abstract class AbstractSurefireMojo if ( !getTestClassesDirectory().exists() && ( getDependenciesToScan() == null || getDependenciesToScan().length == 0 ) ) { - if ( Boolean.TRUE.equals( getFailIfNoTests() ) ) + if ( TRUE.equals( getFailIfNoTests() ) ) { throw new MojoFailureException( "No tests to run!" ); } @@ -2145,7 +2160,8 @@ public abstract class AbstractSurefireMojo Platform platform = PLATFORM.withJdkExecAttributesForTests( getEffectiveJvm() ); - if ( platform.getJdkExecAttributesForTests().isJava9AtLeast() && existsModuleDescriptor() ) + if ( platform.getJdkExecAttributesForTests().isJava9AtLeast() + && getUseJigsawModules() && existsModuleDescriptor() ) { return new ModularClasspathForkConfiguration( bootClasspath, tmpDir, @@ -2414,6 +2430,7 @@ public abstract class AbstractSurefireMojo checksum.add( getForkedProcessExitTimeoutInSeconds() ); checksum.add( getRerunFailingTestsCount() ); checksum.add( getTempDir() ); + checksum.add( getUseJigsawModules() ); addPluginSpecificChecksumItems( checksum ); return checksum.getSha1(); } @@ -3479,6 +3496,21 @@ public abstract class AbstractSurefireMojo this.dependenciesToScan = dependenciesToScan; } + public Boolean getUseJigsawModules() + { + return useJigsawModules; + } + + public void setUseJigsawModules( Boolean useJigsawModules ) + { + this.useJigsawModules = useJigsawModules; + } + + public PluginDescriptor getPluginDescriptor() + { + return pluginDescriptor; + } + public MavenProject getProject() { return project;