[ 
https://jira.codehaus.org/browse/ARCHETYPE-334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Herve Boutemy updated ARCHETYPE-334:
------------------------------------

    Fix Version/s:     (was: 2.1)
                   2.x

> Run a build on generated project during integration test
> --------------------------------------------------------
>
>                 Key: ARCHETYPE-334
>                 URL: https://jira.codehaus.org/browse/ARCHETYPE-334
>             Project: Maven Archetype
>          Issue Type: New Feature
>          Components: Plugin
>    Affects Versions: 2.0-alpha-5
>            Reporter: Jesse Glick
>            Priority: Minor
>             Fix For: 2.x
>
>
> Currently it seems that {{archetype:integration-test}} just creates some 
> projects from the archetype with defined parameters and compares their 
> contents to "golden" copies. (By the way 
> http://maven.apache.org/archetype/maven-archetype-plugin/integration-test-mojo.html
>  does not document this in any way; I had to read {{IntegrationTestMojo}} 
> source to find this out.)
> While that might be useful if you happen to have very complex Velocity 
> templates and need to test that property substitution works the right way 
> with different inputs, most archetypes have rather simple templates that just 
> substitute {{artifactId}} and the like, in which case verifying that the 
> created POM matches some fixed text is worse than useless: if you make any 
> changes to the archetype, you are simply going to make identical changes to 
> the test's golden files.
> What would be much more useful in my experience is to check that the newly 
> generated project actually builds. For example, run {{mvn post-clean verify}} 
> and check that at a minimum the build completes normally. This would catch 
> common mistakes you might make when editing archetypes: mistyping a plugin or 
> dependency name, introducing compilation errors into Java sources, etc. It 
> would also be valuable to check that no warnings are emitted - such as the 
> infamous {{File encoding has not been set...}} message when 
> {{project.build.sourceEncoding}} has been forgotten.
> (You could also run {{mvn post-site}}, checking for warnings/errors, and 
> compare {{target/site}} to a golden copy.)
> CI builders running integration tests might also do so with a pristine local 
> repository (plus cache manager mirroring official public repos), which would 
> catch accidental references to unreleased plugin/dependency versions that the 
> archetype developer happened to have in their local repo.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to