Author: epunzalan
Date: Sun Mar 26 19:15:22 2006
New Revision: 389010

URL: http://svn.apache.org/viewcvs?rev=389010&view=rev
Log:
PR: MCHECKSTYLE-33
Submitted by: John Allen

Applied patch to provide the ability to control whether checkstyle violations 
should cause a build failure.

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/viewcvs/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojo.java?rev=389010&r1=389009&r2=389010&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 Mar 26 19:15:22 2006
@@ -14,14 +14,9 @@
  * 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.
- * 
+ *
  */
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -29,9 +24,14 @@
 import org.codehaus.plexus.util.xml.pull.XmlPullParser;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
 /**
  * Perform a violation check against the last checkstyle run to see if there 
are any violations.
- * 
+ *
  * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
  * @goal check
  * @phase verify
@@ -44,7 +44,7 @@
      * Specifies the path and filename to save the checkstyle output.  The 
format of the output file is
      * determined by the <code>outputFileFormat</code>
      *
-     * @parameter expression="${checkstyle.output.file}" 
+     * @parameter expression="${checkstyle.output.file}"
      *            
default-value="${project.build.directory}/checkstyle-result.xml"
      */
     private File outputFile;
@@ -57,6 +57,14 @@
      */
     private String outputFileFormat;
 
+    /**
+     * do we fail the build on a violation?
+     *
+     * @parameter expression="${checkstyle.failOnViolation}" 
default-value="true"
+     */
+    private boolean failOnViolation;
+
+
     public void execute()
         throws MojoExecutionException, MojoFailureException
     {
@@ -83,9 +91,16 @@
             int violations = countViolations( xpp );
             if ( violations > 0 )
             {
-                throw new MojoFailureException( "You have " + violations + " 
checkstyle violation"
-                    + ( ( violations > 1 ) ? "s" : "" ) + "." );
-            }
+               if ( failOnViolation )
+               {
+                   throw new MojoFailureException( "You have " + violations + 
" checkstyle violation"
+                       + ( ( violations > 1 ) ? "s" : "" ) + "." );
+               }
+               else
+               {
+                           getLog().warn( "checkstyle:check violations 
detected but failOnViolation set to false" );
+                               }
+                       }
         }
         catch ( IOException e )
         {


Reply via email to