You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/02/04 21:53:13 UTC
svn commit: r1442345 - in /maven/plugins/trunk/maven-pmd-plugin/src:
main/java/org/apache/maven/plugin/pmd/ test/java/org/apache/maven/plugin/pmd/
test/resources/unit/default-configuration/
Author: olamy
Date: Mon Feb 4 20:53:13 2013
New Revision: 1442345
URL: http://svn.apache.org/viewvc?rev=1442345&view=rev
Log:
[MPMD-161] PMD/CPD violation exclusions by class/issue
Submitted by Andrey Utis.
Added:
maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml (with props)
maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml (with props)
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
maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojoTest.java
maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojoTest.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=1442345&r1=1442344&r2=1442345&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 Mon Feb 4 20:53:13 2013
@@ -26,6 +26,7 @@ import org.apache.maven.plugins.annotati
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
@@ -74,14 +75,28 @@ public abstract class AbstractPmdViolati
*/
@Parameter( property = "pmd.verbose", defaultValue = "false" )
private boolean verbose;
+
+ /**
+ * Print details of errors that cause build failure
+ */
+ @Parameter( property = "pmd.printFailingErrors", defaultValue = "false" )
+ private boolean printFailingErrors;
/**
+ * File that lists classes and rules to be excluded from failures
+ * For PMD, this is a properties file
+ * For CPD, this is a text file that contains comma-separated lists of classes that are allowed to duplicate
+ */
+ @Parameter( property = "pmd.excludeFromFailureFile", defaultValue = "" )
+ private String excludeFromFailureFile;
+
+ /**
* The project to analyze.
*/
@Component
protected MavenProject project;
- protected void executeCheck( String filename, String tagName, String key, int failurePriority )
+ protected void executeCheck( final String filename, final String tagName, final String key, final int failurePriority )
throws MojoFailureException, MojoExecutionException
{
if ( aggregate && !project.isExecutionRoot() )
@@ -91,27 +106,30 @@ public abstract class AbstractPmdViolati
if ( "java".equals( language ) || aggregate )
{
- File outputFile = new File( targetDirectory, filename );
+ if (!StringUtils.isEmpty(excludeFromFailureFile)) {
+ loadExcludeFromFailuresData(excludeFromFailureFile);
+ }
+ final File outputFile = new File( targetDirectory, filename );
if ( outputFile.exists() )
{
- Reader reader = null;
+ final Reader reader = null;
try
{
- ViolationDetails<D> violations = getViolations( outputFile, failurePriority );
+ final ViolationDetails<D> violations = getViolations( outputFile, failurePriority );
- List<D> failures = violations.getFailureDetails();
- List<D> warnings = violations.getWarningDetails();
+ final List<D> failures = violations.getFailureDetails();
+ final List<D> warnings = violations.getWarningDetails();
if ( verbose )
{
printErrors( failures, warnings );
}
- int failureCount = failures.size();
- int warningCount = warnings.size();
+ final int failureCount = failures.size();
+ final int warningCount = warnings.size();
- String message = getMessage( failureCount, warningCount, key, outputFile );
+ final String message = getMessage( failureCount, warningCount, key, outputFile );
if ( failureCount > 0 && isFailOnViolation() )
{
@@ -120,12 +138,12 @@ public abstract class AbstractPmdViolati
this.getLog().info( message );
}
- catch ( IOException e )
+ catch ( final IOException e )
{
throw new MojoExecutionException( "Unable to read PMD results xml: " + outputFile.getAbsolutePath(),
e );
}
- catch ( XmlPullParserException e )
+ catch ( final XmlPullParserException e )
{
throw new MojoExecutionException( "Unable to read PMD results xml: " + outputFile.getAbsolutePath(),
e );
@@ -142,6 +160,8 @@ public abstract class AbstractPmdViolati
}
}
+ protected abstract void loadExcludeFromFailuresData(String excludeFromFailureFile) throws MojoExecutionException;
+
/**
* Method for collecting the violations found by the PMD tool
*
@@ -151,20 +171,23 @@ public abstract class AbstractPmdViolati
* @throws XmlPullParserException
* @throws IOException
*/
- private ViolationDetails<D> getViolations( File analysisFile, int failurePriority )
+ private ViolationDetails<D> getViolations( final File analysisFile, final int failurePriority )
throws XmlPullParserException, IOException
{
- List<D> failures = new ArrayList<D>();
- List<D> warnings = new ArrayList<D>();
+ final List<D> failures = new ArrayList<D>();
+ final List<D> warnings = new ArrayList<D>();
- List<D> violations = getErrorDetails( analysisFile );
+ final List<D> violations = getErrorDetails( analysisFile );
- for ( D violation : violations )
+ for ( final D violation : violations )
{
- int priority = getPriority( violation );
- if ( priority <= failurePriority )
+ final int priority = getPriority( violation );
+ if ( priority <= failurePriority && !isExcludedFromFailure(violation))
{
failures.add( violation );
+ if (printFailingErrors) {
+ printError(violation, "Failure");
+ }
}
else
{
@@ -172,7 +195,7 @@ public abstract class AbstractPmdViolati
}
}
- ViolationDetails<D> details = newViolationDetailsInstance();
+ final ViolationDetails<D> details = newViolationDetailsInstance();
details.setFailureDetails( failures );
details.setWarningDetails( warnings );
return details;
@@ -180,6 +203,8 @@ public abstract class AbstractPmdViolati
protected abstract int getPriority( D errorDetail );
+ protected abstract boolean isExcludedFromFailure(D errorDetail);
+
protected abstract ViolationDetails<D> newViolationDetailsInstance();
/**
@@ -188,14 +213,14 @@ public abstract class AbstractPmdViolati
* @param failures list of failures
* @param warnings list of warnings
*/
- protected void printErrors( List<D> failures, List<D> warnings )
+ protected void printErrors( final List<D> failures, final List<D> warnings )
{
- for ( D warning : warnings )
+ for ( final D warning : warnings )
{
printError( warning, "Warning" );
}
- for ( D failure : failures )
+ for ( final D failure : failures )
{
printError( failure, "Failure" );
}
@@ -210,9 +235,9 @@ public abstract class AbstractPmdViolati
* @param outputFile
* @return
*/
- private String getMessage( int failureCount, int warningCount, String key, File outputFile )
+ private String getMessage( final int failureCount, final int warningCount, final String key, final File outputFile )
{
- StringBuilder message = new StringBuilder();
+ final StringBuilder message = new StringBuilder();
if ( failureCount > 0 || warningCount > 0 )
{
if ( failureCount > 0 )
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=1442345&r1=1442344&r2=1442345&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 Mon Feb 4 20:53:13 2013
@@ -34,7 +34,11 @@ import org.codehaus.plexus.util.xml.pull
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
+import java.io.LineNumberReader;
+import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
/**
* Fail the build if there were any CPD violations in the source code.
@@ -55,6 +59,8 @@ public class CpdViolationCheckMojo
@Parameter( property = "cpd.skip", defaultValue = "false" )
private boolean skip;
+ private final List<Set<String>> exclusionList = new ArrayList<Set<String>>();
+
/**
* Whether to fail the build if the validation check fails.
*
@@ -112,6 +118,73 @@ public class CpdViolationCheckMojo
return details.getDuplications();
}
+ @Override
+ protected boolean isExcludedFromFailure(final Duplication errorDetail) {
+ final Set<String> uniquePaths = new HashSet<String>();
+ for (final CpdFile cpdFile : errorDetail.getFiles()) {
+ uniquePaths.add(cpdFile.getPath());
+ }
+ for (final Set<String> singleExclusionGroup : exclusionList) {
+ if (uniquePaths.size() == singleExclusionGroup.size() && duplicationExcludedByGroup(uniquePaths, singleExclusionGroup)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean duplicationExcludedByGroup(final Set<String> uniquePaths, final Set<String> singleExclusionGroup) {
+ for (final String path : uniquePaths) {
+ if (!fileExcludedByGroup(path, singleExclusionGroup)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private boolean fileExcludedByGroup(final String path, final Set<String> singleExclusionGroup) {
+ final String formattedPath = path.replace('\\', '.').replace('/', '.');
+ for (final String className : singleExclusionGroup) {
+ if (formattedPath.contains(className)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ protected void loadExcludeFromFailuresData(final String excludeFromFailureFile) throws MojoExecutionException {
+ LineNumberReader reader = null;
+ try {
+ reader = new LineNumberReader(new FileReader(excludeFromFailureFile));
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ exclusionList.add(createSetFromExclusionLine(line));
+ }
+ }
+ catch (final IOException e) {
+ throw new MojoExecutionException("Cannot load file " + excludeFromFailureFile, e);
+ }
+ finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ }
+ catch (final IOException e) {
+ getLog().warn("Cannot close file " + excludeFromFailureFile, e);
+ }
+ }
+ }
+
+ }
+
+ private Set<String> createSetFromExclusionLine(final String line) {
+ final Set<String> result = new HashSet<String>();
+ for(final String className : line.split(",")) {
+ result.add(className.trim());
+ }
+ return result;
+ }
+
@Override
protected int getPriority( Duplication errorDetail )
{
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=1442345&r1=1442344&r2=1442345&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 Mon Feb 4 20:53:13 2013
@@ -36,7 +36,13 @@ import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
/**
* Fail the build if there were any PMD violations in the source code.
@@ -65,6 +71,8 @@ public class PmdViolationCheckMojo
@Parameter( property = "pmd.skip", defaultValue = "false" )
private boolean skip;
+ private final Map<String, Set<String>> excludeFromFailureClasses = new HashMap<String, Set<String>>();
+
/**
* {@inheritDoc}
*/
@@ -77,6 +85,45 @@ public class PmdViolationCheckMojo
}
}
+ @Override
+ protected void loadExcludeFromFailuresData(final String excludeFromFailureFile) throws MojoExecutionException {
+ final Properties props = new Properties();
+ try {
+ props.load(new FileReader(excludeFromFailureFile));
+ }
+ catch (final IOException e) {
+ throw new MojoExecutionException("Cannot load properties file " + excludeFromFailureFile, e);
+ }
+ for (final Entry<Object, Object> propEntry : props.entrySet()) {
+ final Set<String> excludedRuleSet = new HashSet<String>();
+ final String className = propEntry.getKey().toString();
+ final String[] excludedRules = propEntry.getValue().toString().split(",");
+ for (final String excludedRule : excludedRules) {
+ excludedRuleSet.add(excludedRule.trim());
+ }
+ excludeFromFailureClasses.put(className, excludedRuleSet);
+ }
+ }
+
+ @Override
+ protected boolean isExcludedFromFailure(final Violation errorDetail) {
+ final String className = extractClassName(errorDetail);
+ final Set<String> excludedRuleSet = excludeFromFailureClasses.get(className);
+ return excludedRuleSet != null && excludedRuleSet.contains(errorDetail.getRule());
+ }
+
+ private String extractClassName(final Violation errorDetail) {
+ //for some reason, some violations don't contain the package name, so we have to guess the full class name
+ if (errorDetail.getViolationPackage() != null && errorDetail.getViolationClass() != null) {
+ return errorDetail.getViolationPackage() + "." + errorDetail.getViolationClass();
+ }
+ else {
+ final String fileName = errorDetail.getFileName();
+ final int javaIdx = fileName.indexOf("\\java\\");
+ return fileName.substring(javaIdx >= 0 ? javaIdx + 6 : 0, fileName.length() - 5).replace('\\', '.');
+ }
+ }
+
/**
* {@inheritDoc}
*/
Modified: maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojoTest.java?rev=1442345&r1=1442344&r2=1442345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojoTest.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/CpdViolationCheckMojoTest.java Mon Feb 4 20:53:13 2013
@@ -32,6 +32,7 @@ public class CpdViolationCheckMojoTest
extends AbstractMojoTestCase
{
/** {@inheritDoc} */
+ @Override
protected void setUp()
throws Exception
{
@@ -43,14 +44,14 @@ public class CpdViolationCheckMojoTest
{
try
{
- File testPom = new File( getBasedir(),
+ final File testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/pmd-check-default-configuration-plugin-config.xml" );
- CpdViolationCheckMojo mojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
+ final CpdViolationCheckMojo mojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
mojo.execute();
fail( "MojoFailureException should be thrown." );
}
- catch ( Exception e )
+ catch ( final Exception e )
{
assertTrue( true );
}
@@ -62,12 +63,12 @@ public class CpdViolationCheckMojoTest
File testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/cpd-default-configuration-plugin-config.xml" );
- CpdReport mojo = (CpdReport) lookupMojo( "cpd", testPom );
+ final CpdReport mojo = (CpdReport) lookupMojo( "cpd", testPom );
mojo.execute();
testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/pmd-check-notfailonviolation-plugin-config.xml" );
- CpdViolationCheckMojo cpdViolationMojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
+ final CpdViolationCheckMojo cpdViolationMojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
cpdViolationMojo.execute();
assertTrue( true );
@@ -78,16 +79,30 @@ public class CpdViolationCheckMojoTest
{
try
{
- File testPom = new File( getBasedir(),
+ final File testPom = new File( getBasedir(),
"src/test/resources/unit/custom-configuration/pmd-check-exception-test-plugin-config.xml" );
- CpdViolationCheckMojo mojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
+ final CpdViolationCheckMojo mojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
mojo.execute();
fail( "MojoFailureException should be thrown." );
}
- catch ( Exception e )
+ catch ( final Exception e )
{
assertTrue( true );
}
}
+
+ public void testExclusionsConfiguration() throws Exception {
+ File testPom = new File(getBasedir(),
+ "src/test/resources/unit/default-configuration/cpd-default-configuration-plugin-config.xml");
+ final CpdReport mojo = (CpdReport) lookupMojo("cpd", testPom);
+ mojo.execute();
+
+ testPom = new File(getBasedir(),
+ "src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml");
+ final CpdViolationCheckMojo cpdViolationMojo = (CpdViolationCheckMojo) lookupMojo("cpd-check", testPom);
+ cpdViolationMojo.execute();
+
+ assertTrue( true );
+ }
}
Modified: maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojoTest.java?rev=1442345&r1=1442344&r2=1442345&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojoTest.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojoTest.java Mon Feb 4 20:53:13 2013
@@ -34,6 +34,7 @@ public class PmdViolationCheckMojoTest
/**
* {@inheritDoc}
*/
+ @Override
protected void setUp()
throws Exception
{
@@ -45,14 +46,14 @@ public class PmdViolationCheckMojoTest
{
try
{
- File testPom = new File( getBasedir(),
+ final File testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/pmd-check-default-configuration-plugin-config.xml" );
- PmdViolationCheckMojo mojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
+ final PmdViolationCheckMojo mojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
mojo.execute();
fail( "MojoFailureException should be thrown." );
}
- catch ( Exception e )
+ catch ( final Exception e )
{
assertTrue( true );
}
@@ -63,12 +64,12 @@ public class PmdViolationCheckMojoTest
{
File testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" );
- PmdReport mojo = (PmdReport) lookupMojo( "pmd", testPom );
+ final PmdReport mojo = (PmdReport) lookupMojo( "pmd", testPom );
mojo.execute();
testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/pmd-check-notfailonviolation-plugin-config.xml" );
- PmdViolationCheckMojo pmdViolationMojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
+ final PmdViolationCheckMojo pmdViolationMojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
pmdViolationMojo.execute();
assertTrue( true );
@@ -79,7 +80,7 @@ public class PmdViolationCheckMojoTest
{
File testPom = new File( getBasedir(),
"src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" );
- PmdReport mojo = (PmdReport) lookupMojo( "pmd", testPom );
+ final PmdReport mojo = (PmdReport) lookupMojo( "pmd", testPom );
mojo.execute();
testPom = new File( getBasedir(),
@@ -95,7 +96,7 @@ public class PmdViolationCheckMojoTest
pmdViolationMojo.execute();
fail( "Exception Expected" );
}
- catch ( MojoFailureException e )
+ catch ( final MojoFailureException e )
{
System.out.println( "Caught Expected Message: " + e.getMessage() );// expected
}
@@ -107,17 +108,33 @@ public class PmdViolationCheckMojoTest
{
try
{
- File testPom = new File( getBasedir(),
+ final File testPom = new File( getBasedir(),
"src/test/resources/unit/custom-configuration/pmd-check-exception-test-plugin-config.xml" );
- PmdViolationCheckMojo mojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
+ final PmdViolationCheckMojo mojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
mojo.execute();
fail( "MojoFailureException should be thrown." );
}
- catch ( Exception e )
+ catch ( final Exception e )
{
assertTrue( true );
}
}
+
+ public void testViolationExclusion()
+ throws Exception
+ {
+ File testPom = new File( getBasedir(),
+ "src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" );
+ final PmdReport mojo = (PmdReport) lookupMojo( "pmd", testPom );
+ mojo.execute();
+
+ testPom = new File( getBasedir(),
+ "src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml" );
+ final PmdViolationCheckMojo pmdViolationMojo = (PmdViolationCheckMojo) lookupMojo( "check", testPom );
+ pmdViolationMojo.execute();
+
+ assertTrue( true );
+ }
}
Added: maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml?rev=1442345&view=auto
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml (added)
+++ maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml Mon Feb 4 20:53:13 2013
@@ -0,0 +1,57 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>def.configuration</groupId>
+ <artifactId>default-configuration</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <inceptionYear>2006</inceptionYear>
+ <name>Maven PMD Plugin Exclusions Configuration Test</name>
+ <url>http://maven.apache.org</url>
+ <build>
+ <finalName>default-configuration</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <configuration>
+ <!-- project implementation="org.apache.maven.plugin.pmd.stubs.DefaultConfigurationMavenProjectStub"/-->
+ <targetDirectory>${basedir}/target/test/unit/default-configuration/target</targetDirectory>
+ <failOnViolation>true</failOnViolation>
+ <verbose>false</verbose>
+ <language>java</language>
+ <printFailingErrors>true</printFailingErrors>
+ <excludeFromFailureFile>${basedir}/src/test/resources/unit/excludes/cpd_exclude.txt</excludeFromFailureFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
Propchange: maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-cpd-exclusions-configuration-plugin-config.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml?rev=1442345&view=auto
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml (added)
+++ maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml Mon Feb 4 20:53:13 2013
@@ -0,0 +1,56 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>custom.configuration</groupId>
+ <artifactId>custom-configuration</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <inceptionYear>2006</inceptionYear>
+ <name>Maven PMD Violation Check Custom Configuration Test</name>
+ <url>http://maven.apache.org</url>
+ <build>
+ <finalName>custom-configuration</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <configuration>
+ <!-- project implementation="org.apache.maven.plugin.pmd.stubs.DefaultConfigurationMavenProjectStub"/-->
+ <targetDirectory>${basedir}/target/test/unit/default-configuration/target</targetDirectory>
+ <failOnViolation>true</failOnViolation>
+ <failurePriority>3</failurePriority>
+ <verbose>false</verbose>
+ <language>java</language>
+ <printFailingErrors>true</printFailingErrors>
+ <excludeFromFailureFile>${basedir}/src/test/resources/unit/excludes/pmd_exclude.properties</excludeFromFailureFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
Propchange: maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-pmd-plugin/src/test/resources/unit/default-configuration/pmd-check-pmd-exclusions-configuration-plugin-config.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision