[
https://jira.codehaus.org/browse/ARCHETYPE-334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Herve Boutemy closed ARCHETYPE-334.
-----------------------------------
Resolution: Fixed
Fix Version/s: (was: 2.x)
2.1
Assignee: Herve Boutemy
done in [r1160058|http://svn.apache.org/viewvc?rev=1160058&view=rev]
> 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
> Assignee: Herve Boutemy
> Priority: Minor
> Fix For: 2.1
>
>
> 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