Author: epunzalan Date: Mon Mar 27 02:16:00 2006 New Revision: 389091 URL: http://svn.apache.org/viewcvs?rev=389091&view=rev Log: PR: MCHECKSTYLE-37
Created a new parameter, suppressionsFileExpression, which represents the expression used in checkstyle configuration file. When this expression is present, then the FilterSet will not be used anymore. Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java?rev=389091&r1=389090&r2=389091&view=diff ============================================================================== --- maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java (original) +++ maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java Mon Mar 27 02:16:00 2006 @@ -295,6 +295,11 @@ private String suppressionsLocation; /** + * @parameter expression="${checkstyle.suppression.expression}" + */ + private String suppressionsFileExpression; + + /** * Specifies the location of the supperssions XML file to use. The plugin defines a Checkstyle * property named <code>checkstyle.suppressions.file</code> with the value of this * property. This allows using the Checkstyle property your own custom checkstyle @@ -327,7 +332,7 @@ * Specifies the location of the package names XML to be used to configure * the Checkstyle <a href="http://checkstyle.sourceforge.net/config.html#Packages">Packages</a>. * </p> - * + * * <p> * This parameter is resolved as resource, URL, then file. * If resolved to a resource, or a URL, the contents of the package names @@ -657,7 +662,7 @@ private CheckstyleResults executeCheckstyle( Configuration config, ModuleFactory moduleFactory ) throws MavenReportException, CheckstyleException { - File[] files = new File[0]; + File[] files; try { files = getFilesToProcess( includes, excludes ); @@ -882,6 +887,13 @@ throw new MavenReportException( "Failed to get overriding properties", e ); } + if ( suppressionsFileExpression != null ) + { + String suppresionFile = getSuppressionLocation(); + + p.setProperty( suppressionsFileExpression, suppresionFile ); + } + return p; } @@ -929,9 +941,34 @@ return moduleFactory; } + private String getSuppressionLocation() + throws MavenReportException + { + try + { + File suppressionsFile = locator.resolveLocation( suppressionsLocation, "checkstyle-suppressions.xml" ); + + if ( suppressionsFile == null ) + { + return null; + } + + return suppressionsFile.getAbsolutePath(); + } + catch ( IOException e ) + { + throw new MavenReportException( "Failed to process supressions location: " + suppressionsLocation, e ); + } + } + private FilterSet getSuppressions() throws MavenReportException { + if ( suppressionsFileExpression != null ) + { + return null; + } + try { File suppressionsFile = locator.resolveLocation( suppressionsLocation, "checkstyle-suppressions.xml" );