[ https://jira.codehaus.org/browse/ARCHETYPE-334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237325#comment-237325 ]
Herve Boutemy edited comment on ARCHETYPE-334 at 8/16/11 4:53 PM: ------------------------------------------------------------------ yes, I discovered it too when reading source code. I just improved javadoc in [r1004009|http://svn.apache.org/viewvc?rev=1004009&view=rev]: please review was (Author: hboutemy): yes, I discovered it too when reading source code. I just improved javadoc in r1004009: please review > 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.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