From 4e900b682a58a5243a1560186cea34e431e51af2 Mon Sep 17 00:00:00 2001 From: Ciprian Ciubotariu Date: Sun, 22 Aug 2021 02:43:32 +0300 Subject: [PATCH] [SUREFIRE-1266] Skip junit dependency check if module has no tests to run Don't require users to add junit dependencies on all projects when using groups in surefire/failsafe at the reactor-level --- .../maven/plugin/surefire/AbstractSurefireMojo.java | 10 +++++++--- .../plugin/surefire/AbstractSurefireMojoTest.java | 2 +- 2 files changed, 8 insertions(+), 4 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 54ed1f82d4..bc8feaddda 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 @@ -924,7 +924,7 @@ public void execute() setupStuff(); Platform platform = PLATFORM.withJdkExecAttributesForTests( getEffectiveJvm() ); - if ( verifyParameters() && !hasExecutedBefore() ) + if ( verifyParameters( false ) && !hasExecutedBefore() ) { DefaultScanResult scan = scanForTestClasses(); if ( !hasSuiteXmlFiles() && scan.isEmpty() ) @@ -944,6 +944,7 @@ public void execute() return; } } + verifyParameters( true ); logReportsDirectory(); executeAfterPreconditionsChecked( scan, platform ); } @@ -1101,7 +1102,7 @@ else if ( out.isDirectory() ) } } - boolean verifyParameters() + boolean verifyParameters( boolean pluginActive ) throws MojoFailureException, MojoExecutionException { setProperties( new SurefireProperties( getProperties() ) ); @@ -1138,7 +1139,10 @@ boolean verifyParameters() ensureParallelRunningCompatibility(); ensureThreadCountWithPerThread(); warnIfUselessUseSystemClassLoaderParameter(); - warnIfDefunctGroupsCombinations(); + if ( pluginActive ) + { + warnIfDefunctGroupsCombinations(); + } warnIfRerunClashes(); warnIfWrongShutdownValue(); warnIfNotApplicableSkipAfterFailureCount(); diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java index da3bcfeb42..396bec282c 100644 --- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java +++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java @@ -2022,7 +2022,7 @@ protected String getEnableProcessChecker() e.expect( MojoFailureException.class ); e.expectMessage( "Unexpected value 'fake' in the configuration parameter 'enableProcessChecker'." ); - mojo.verifyParameters(); + mojo.verifyParameters( true ); } private void setProjectDepedenciesToMojo( Artifact... deps )