Author: nicolas Date: Sun May 31 10:26:12 2009 New Revision: 780402 URL: http://svn.apache.org/viewvc?rev=780402&view=rev Log: [MCHECKSTYLE-110] option to redirect checktyle violations to console for quick review
o build a log String during XML report analysis and log to console Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java 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=780402&r1=780401&r2=780402&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 Sun May 31 10:26:12 2009 @@ -90,6 +90,15 @@ private boolean skip; /** + * Ouput detected violations in the console + * + * @parameter expression="${checkstyle.console}" default-value="false" + * @since 2.3 + */ + private boolean logViolationsToConsole; + + + /** * @see org.apache.maven.plugin.Mojo#execute() */ public void execute() @@ -149,11 +158,30 @@ int count = 0; int eventType = xpp.getEventType(); + String file = ""; while ( eventType != XmlPullParser.END_DOCUMENT ) { + if ( eventType == XmlPullParser.START_TAG && "file".equals( xpp.getName() ) ) + { + file = xpp.getAttributeValue( "", "name" ); + file = file.substring( file.lastIndexOf( File.separatorChar ) + 1 ); + } + if ( eventType == XmlPullParser.START_TAG && "error".equals( xpp.getName() ) && isViolation( xpp.getAttributeValue( "", "severity" ) ) ) { + if ( logViolationsToConsole ) + { + StringBuffer stb = new StringBuffer(); + stb.append( file ); + stb.append( '[' ); + stb.append( xpp.getAttributeValue( "", "line" ) ); + stb.append( ':' ); + stb.append( xpp.getAttributeValue( "", "column" ) ); + stb.append( "] " ); + stb.append( xpp.getAttributeValue( "", "message" ) ); + getLog().error( stb.toString() ); + } count++; } eventType = xpp.next();