[ 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