You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/07/26 19:35:05 UTC
svn commit: r1613691 - in /maven/plugins/trunk/maven-checkstyle-plugin/src:
it/check-fail/ main/java/org/apache/maven/plugin/checkstyle/
Author: hboutemy
Date: Sat Jul 26 17:35:04 2014
New Revision: 1613691
URL: http://svn.apache.org/r1613691
Log:
[MCHECKSTYLE-148] added category and name of rule causing a violation to output
Added:
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java (with props)
Modified:
maven/plugins/trunk/maven-checkstyle-plugin/src/it/check-fail/pom.xml
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java
Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/it/check-fail/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/it/check-fail/pom.xml?rev=1613691&r1=1613690&r2=1613691&view=diff
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/src/it/check-fail/pom.xml (original)
+++ maven/plugins/trunk/maven-checkstyle-plugin/src/it/check-fail/pom.xml Sat Jul 26 17:35:04 2014
@@ -40,6 +40,9 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>@pom.version@</version>
+ <configuration>
+ <logViolationsToConsole>true</logViolationsToConsole>
+ </configuration>
<executions>
<execution>
<id>check</id>
Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java?rev=1613691&r1=1613690&r2=1613691&view=diff
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java (original)
+++ maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java Sat Jul 26 17:35:04 2014
@@ -373,7 +373,7 @@ public class CheckstyleReportGenerator
// column 1: rule category
sink.tableCell();
- String category = getRuleCategoryName( lastMatchedEvent );
+ String category = RuleUtil.getCategory( lastMatchedEvent );
sink.text( category );
sink.tableCell_();
@@ -473,59 +473,6 @@ public class CheckstyleReportGenerator
}
/**
- * Get the rule name from a violation.
- *
- * @param event the violation
- * @return the rule name, which is the class name without package and removed eventual "Check" suffix
- */
- public String getRuleName( AuditEvent event )
- {
- String eventSrcName = event.getSourceName();
-
- if ( eventSrcName == null )
- {
- return null;
- }
-
- if ( eventSrcName.endsWith( "Check" ) )
- {
- eventSrcName = eventSrcName.substring( 0, eventSrcName.length() - 5 );
- }
-
- return eventSrcName.substring( eventSrcName.lastIndexOf( '.' ) + 1 );
- }
-
- /**
- * Get the rule category from a violation.
- *
- * @param event the violation
- * @return the rule category, which is the last package name or "misc" or "extension"
- */
- public String getRuleCategoryName( AuditEvent event )
- {
- String eventSrcName = event.getSourceName();
-
- if ( eventSrcName == null )
- {
- return null;
- }
-
- int end = eventSrcName.lastIndexOf( '.' );
- eventSrcName = eventSrcName.substring( 0, end );
-
- if ( "com.puppycrawl.tools.checkstyle.checks".equals( eventSrcName ) )
- {
- return "misc";
- }
- else if ( !eventSrcName.startsWith( "com.puppycrawl.tools.checkstyle.checks" ) )
- {
- return "extension";
- }
-
- return eventSrcName.substring( eventSrcName.lastIndexOf( '.' ) + 1 );
- }
-
- /**
* Check if a violation matches a rule.
*
* @param event the violation to check
@@ -536,7 +483,7 @@ public class CheckstyleReportGenerator
*/
public boolean matchRule( AuditEvent event, String ruleName, String expectedMessage, String expectedSeverity )
{
- if ( !ruleName.equals( getRuleName( event ) ) )
+ if ( !ruleName.equals( RuleUtil.getName( event ) ) )
{
return false;
}
@@ -781,7 +728,7 @@ public class CheckstyleReportGenerator
sink.tableCell_();
sink.tableCell();
- String category = getRuleCategoryName( event );
+ String category = RuleUtil.getCategory( event );
if ( category != null )
{
sink.text( category );
@@ -789,7 +736,7 @@ public class CheckstyleReportGenerator
sink.tableCell_();
sink.tableCell();
- String ruleName = getRuleName( event );
+ String ruleName = RuleUtil.getName( event );
if ( ruleName != null )
{
sink.text( ruleName );
Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java?rev=1613691&r1=1613690&r2=1613691&view=diff
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java (original)
+++ maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java Sat Jul 26 17:35:04 2014
@@ -573,35 +573,46 @@ public class CheckstyleViolationCheckMoj
String file = "";
while ( eventType != XmlPullParser.END_DOCUMENT )
{
- if ( eventType == XmlPullParser.START_TAG && "file".equals( xpp.getName() ) )
+ if ( eventType == XmlPullParser.START_TAG )
{
- file = xpp.getAttributeValue( "", "name" );
- file = file.substring( file.lastIndexOf( File.separatorChar ) + 1 );
- }
+ String severity;
- if ( eventType == XmlPullParser.START_TAG && "error".equals( xpp.getName() )
- && isViolation( xpp.getAttributeValue( "", "severity" ) ) )
- {
- if ( logViolationsToConsole )
+ if ( "file".equals( xpp.getName() ) )
{
- final String column =
- xpp.getAttributeValue( "", "column" ) == null ? "n/a" : xpp.getAttributeValue( "", "column" );
- final String logMessage = file + '[' + xpp.getAttributeValue( "", "line" ) + ':' + column + "] "
- + xpp.getAttributeValue( "", "message" );
- if ( "info".equals( xpp.getAttributeValue( "", "severity" ) ) )
- {
- getLog().info( logMessage );
- }
- else if ( "warning".equals( xpp.getAttributeValue( "", "severity" ) ) )
- {
- getLog().warn( logMessage );
- }
- else
+ file = xpp.getAttributeValue( "", "name" );
+ file = file.substring( file.lastIndexOf( File.separatorChar ) + 1 );
+ }
+ else if ( "error".equals( xpp.getName() )
+ && isViolation( severity = xpp.getAttributeValue( "", "severity" ) ) )
+ {
+ count++;
+
+ if ( logViolationsToConsole )
{
- getLog().error( logMessage );
+ String line = xpp.getAttributeValue( "", "line" );
+ String column = xpp.getAttributeValue( "", "column" );
+ String message = xpp.getAttributeValue( "", "message" );
+ String source = xpp.getAttributeValue( "", "source" );
+ String rule = RuleUtil.getName( source );
+ String category = RuleUtil.getCategory( source );
+
+ String logMessage =
+ file + '[' + line + ( ( column == null ) ? "" : ( ':' + column ) ) + "] (" + category
+ + ") " + rule + ": " + message;
+ if ( "info".equals( severity ) )
+ {
+ getLog().info( logMessage );
+ }
+ else if ( "warning".equals( severity ) )
+ {
+ getLog().warn( logMessage );
+ }
+ else
+ {
+ getLog().error( logMessage );
+ }
}
}
- count++;
}
eventType = xpp.next();
}
Added: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java?rev=1613691&view=auto
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java (added)
+++ maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java Sat Jul 26 17:35:04 2014
@@ -0,0 +1,101 @@
+package org.apache.maven.plugin.checkstyle;
+
+import com.puppycrawl.tools.checkstyle.api.AuditEvent;
+
+/*
+ * 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.
+ */
+
+/**
+ * Tooling for Checkstyle rules conventions: names, categories.
+ *
+ * @author Hervé Boutemy
+ * @since 2.13
+ */
+public class RuleUtil
+{
+ /**
+ * Get the rule name from an audit event.
+ *
+ * @param event the audit event
+ * @return the rule name, which is the class name without package and removed eventual "Check" suffix
+ */
+ public static String getName( AuditEvent event )
+ {
+ return getName( event.getSourceName() );
+ }
+ /**
+ * Get the rule name from an audit event source name.
+ *
+ * @param eventSrcName the audit event source name
+ * @return the rule name, which is the class name without package and removed eventual "Check" suffix
+ */
+ public static String getName( String eventSrcName )
+ {
+ if ( eventSrcName == null )
+ {
+ return null;
+ }
+
+ if ( eventSrcName.endsWith( "Check" ) )
+ {
+ eventSrcName = eventSrcName.substring( 0, eventSrcName.length() - 5 );
+ }
+
+ return eventSrcName.substring( eventSrcName.lastIndexOf( '.' ) + 1 );
+ }
+
+ /**
+ * Get the rule category from an audit event.
+ *
+ * @param event the audit event
+ * @return the rule category, which is the last package name or "misc" or "extension"
+ */
+ public static String getCategory( AuditEvent event )
+ {
+ return getCategory( event.getSourceName() );
+ }
+
+ /**
+ * Get the rule category from an audit event source name.
+ *
+ * @param eventSrcName the audit event source name
+ * @return the rule category, which is the last package name or "misc" or "extension"
+ */
+ public static String getCategory( String eventSrcName )
+ {
+ if ( eventSrcName == null )
+ {
+ return null;
+ }
+
+ int end = eventSrcName.lastIndexOf( '.' );
+ eventSrcName = eventSrcName.substring( 0, end );
+
+ if ( "com.puppycrawl.tools.checkstyle.checks".equals( eventSrcName ) )
+ {
+ return "misc";
+ }
+ else if ( !eventSrcName.startsWith( "com.puppycrawl.tools.checkstyle.checks" ) )
+ {
+ return "extension";
+ }
+
+ return eventSrcName.substring( eventSrcName.lastIndexOf( '.' ) + 1 );
+ }
+}
Propchange: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/RuleUtil.java
------------------------------------------------------------------------------
svn:mime-type = text/plain