sonatype/nexus — pull request #497 by adreghiciu (2012-07-30 13:38:26+00:00)
Title: Launcher enhancements

There are more areas I worked on:

1. Make possible to run nexus ITs against multiple versions of nexus as a parametrized junit test. To do so, an IT must subclass NexusParametrizedITSupport/NexusRunningParametrizedITSupport and can provide nexus bundle coordinates in two ways: hardcoded in IT or via parameters file. Be default the parameters will be looked up from a file.
The NexusITSupport.NexusRunningITSupport are still working as before.
The parametrized nexus bundle launcher coordinates can contain placeholders such as ${project.version}, ${project.groupId}, ${project.artifactId} or any project property from pom. Another placeholder that can be used is ${project.dm.version} that will look up the value from dependency management. Some examples:
"org.sonatype.nexus:nexus-oss-webapp:zip:bundle:2.1"
"org.sonatype.nexus:nexus-oss-webapp:zip:bundle:${project.version}"
"org.sonatype.nexus:nexus-oss-webapp:zip:bundle:${project.dm.version}"

Once we merge this to master I will write an guide on how to write ITs.

2. Split the IT support classes from nexus-launcher. The new module is nexus/nexus-test/nexus-testsuite-support. This is the dependency that has to be added to projects that want to make nexus launcher based ITs
The new module is also having basic ITs for supported features.

3. Extract artifact resolver, file paths into utility classes so they can be reused if one decide to not extend the NexusITSupport.

Some of this changes will make some already written ITs not compile but I'm willing to go through all of them and fix them as the fixes are trivial. And is better in my view to do this changes now when we have a few such tests then going on without doing this changes.