Author: adangel
Date: Sat Oct 1 09:30:14 2016
New Revision: 1762992
URL: http://svn.apache.org/viewvc?rev=1762992&view=rev
Log:
[MPMD-162] PMD/CPD report does not take into account pmd.excludeFromFailureFile
Use the new interface for the check mojos
Modified:
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdViolationCheckMojo.java
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojo.java
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
Modified:
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdViolationCheckMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdViolationCheckMojo.java?rev=1762992&r1=1762991&r2=1762992&view=diff
==============================================================================
---
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdViolationCheckMojo.java
(original)
+++
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdViolationCheckMojo.java
Sat Oct 1 09:30:14 2016
@@ -92,6 +92,18 @@ public abstract class AbstractPmdViolati
@Parameter( property = "pmd.excludeFromFailureFile", defaultValue = "" )
private String excludeFromFailureFile;
+ /** Helper to exclude violations from the result. */
+ private final ExcludeFromFile<D> excludeFromFile;
+
+ /**
+ * Initialize this abstact check mojo by giving the correct
ExcludeFromFile helper.
+ * @param excludeFromFile the needed helper, for the specific violation
type
+ */
+ protected AbstractPmdViolationCheckMojo( ExcludeFromFile<D>
excludeFromFile )
+ {
+ this.excludeFromFile = excludeFromFile;
+ }
+
/**
* The project to analyze.
*/
@@ -112,7 +124,7 @@ public abstract class AbstractPmdViolati
return;
}
- loadExcludeFromFailuresData( excludeFromFailureFile );
+ excludeFromFile.loadExcludeFromFailuresData( excludeFromFailureFile );
final File outputFile = new File( targetDirectory, filename );
if ( outputFile.exists() )
@@ -162,9 +174,6 @@ public abstract class AbstractPmdViolati
}
}
- protected abstract void loadExcludeFromFailuresData( String
excludeFromFailureFile )
- throws MojoExecutionException;
-
/**
* Method for collecting the violations found by the PMD tool
*
@@ -185,7 +194,7 @@ public abstract class AbstractPmdViolati
for ( final D violation : violations )
{
final int priority = getPriority( violation );
- if ( priority <= failurePriority && !isExcludedFromFailure(
violation ) )
+ if ( priority <= failurePriority &&
!excludeFromFile.isExcludedFromFailure( violation ) )
{
failures.add( violation );
if ( printFailingErrors )
@@ -207,8 +216,6 @@ public abstract class AbstractPmdViolati
protected abstract int getPriority( D errorDetail );
- protected abstract boolean isExcludedFromFailure( D errorDetail );
-
protected abstract ViolationDetails<D> newViolationDetailsInstance();
/**
Modified:
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojo.java?rev=1762992&r1=1762991&r2=1762992&view=diff
==============================================================================
---
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojo.java
(original)
+++
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojo.java
Sat Oct 1 09:30:14 2016
@@ -47,6 +47,13 @@ import org.codehaus.plexus.util.xml.pull
public class CpdViolationCheckMojo
extends AbstractPmdViolationCheckMojo<Duplication>
{
+ /**
+ * Default constructor. Initializes with the correct {@link
ExcludeDuplicationsFromFile}.
+ */
+ public CpdViolationCheckMojo()
+ {
+ super( new ExcludeDuplicationsFromFile() );
+ }
/**
* Skip the CPD violation checks. Most useful on the command line via
"-Dcpd.skip=true".
@@ -62,9 +69,6 @@ public class CpdViolationCheckMojo
@Parameter( property = "cpd.failOnViolation", defaultValue = "true",
required = true )
protected boolean failOnViolation;
- /** Helper to exclude duplications from the result. */
- private final ExcludeDuplicationsFromFile excludeDuplicationsFromFile =
new ExcludeDuplicationsFromFile();
-
/**
* {@inheritDoc}
*/
@@ -116,19 +120,6 @@ public class CpdViolationCheckMojo
}
@Override
- protected boolean isExcludedFromFailure( final Duplication errorDetail )
- {
- return excludeDuplicationsFromFile.isExcludedFromFailure( errorDetail
);
- }
-
- @Override
- protected void loadExcludeFromFailuresData( final String
excludeFromFailureFile )
- throws MojoExecutionException
- {
- excludeDuplicationsFromFile.loadExcludeFromFailuresData(
excludeFromFailureFile );
- }
-
- @Override
protected int getPriority( Duplication errorDetail )
{
return 0;
Modified:
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java?rev=1762992&r1=1762991&r2=1762992&view=diff
==============================================================================
---
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
(original)
+++
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
Sat Oct 1 09:30:14 2016
@@ -50,6 +50,14 @@ public class PmdViolationCheckMojo
extends AbstractPmdViolationCheckMojo<Violation>
{
/**
+ * Default constructor. Initializes with the correct {@link
ExcludeViolationsFromFile}.
+ */
+ public PmdViolationCheckMojo()
+ {
+ super( new ExcludeViolationsFromFile() );
+ }
+
+ /**
* What priority level to fail the build on. Failures at or above this
level will stop the build. Anything below
* will be warnings and will be displayed in the build output if
verbose=true. Note: Minimum Priority = 5 Maximum
* Priority = 0
@@ -63,9 +71,6 @@ public class PmdViolationCheckMojo
@Parameter( property = "pmd.skip", defaultValue = "false" )
private boolean skip;
- /** Helper to exclude violations from the result. */
- private final ExcludeViolationsFromFile excludeFromFile = new
ExcludeViolationsFromFile();
-
/**
* {@inheritDoc}
*/
@@ -78,19 +83,6 @@ public class PmdViolationCheckMojo
}
}
- @Override
- protected void loadExcludeFromFailuresData( final String
excludeFromFailureFile )
- throws MojoExecutionException
- {
- excludeFromFile.loadExcludeFromFailuresData( excludeFromFailureFile );
- }
-
- @Override
- protected boolean isExcludedFromFailure( final Violation errorDetail )
- {
- return excludeFromFile.isExcludedFromFailure( errorDetail );
- }
-
/**
* {@inheritDoc}
*/