Display All files that arent valid when running the validation mojo
-------------------------------------------------------------------

                 Key: MOJO-1651
                 URL: http://jira.codehaus.org/browse/MOJO-1651
             Project: Mojo
          Issue Type: Improvement
    Affects Versions: xml-maven-plugin 1.0
            Reporter: Paul Reeves
            Priority: Minor
         Attachments: ValidateMojo_patch.txt



I've started to using the plugin to validate xml files during a build and break 
the build if the files are not valid.

Currently the Validate mojo stops validating when it encounters a problem an 
xml file and exits (it does not check any other files).

I've patched a version which takes a configuration parameter

<failOnFirstError>

This has a default value of true (which allows the plugin to behave as it 
normally does)

If:

<failOnFirstError>false</failOnfirstError> is set then every parse error is 
logged to the console

The plugin then aborts with a MojoExecutionException

This is handy for us as we can fix all the errors in one go rather than running 
the plugin many times.


An example of pom configuration is shown below

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
        <executions>
                <execution>
                        <goals>
                                <goal>validate</goal>
                        </goals>
                </execution>
        </executions>
        <configuration>
                <failOnFirstError>false</failOnFirstError>
                <validationSets>
                        <validationSet>
                                <dir>src/main/webapp</dir>
                                <includes>
                                        <include>**/*.xhtml</include>
                                </includes>
                        </validationSet>
                </validationSets>
        </configuration>
</plugin>               


An example of console output is shown below

....
[INFO] [xml:validate {execution: default}]
[ERROR] While parsing C:\foo\webapp\src\main\webapp\foo\bar\aaa.xhtml, at 
file:/C:/foo/webapp/src/main/webapp/foo/bar/aaa.xhtml, line 2,  column 1: 
Content is not allowed in prolog.
[ERROR] While parsing C:\foo\webapp\src\main\webapp\foo\bar\bbb.xhtml, at 
file:/C:/foo/webapp/src/main/webapp/foo/bar/bbb.xhtml, line 2,  column 1: 
Content is not allowed in prolog.
[ERROR] While parsing C:\foo\webapp\src\main\webapp\foo\bar\ccc.xhtml, at 
file:/C:/foo/webapp/src/main/webapp/foo/bar/ccc.xhtml, line 7,  column 10: The 
string "--" is not permitted within comments.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] XML Validate failed on multiple documents, see above.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10 seconds
[INFO] Finished at: Wed Mar 02 16:06:26 GMT 2011
[INFO] Final Memory: 34M/82M
[INFO] ------------------------------------------------------------------------

If failOnFirstError is set to true or omitted, the plugin behaves as it did 
before.
....

Patch file included, let me know if you want unit tests

Regards

Paul


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to