[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[virgo-dev] Running integration tests with maven
- From: Dmitry Sklyut <dmitry@xxxxxxxxxxx>
- Date: Thu, 15 Jul 2010 00:36:03 -0400
- Delivered-to: firstname.lastname@example.org
I have finally hit the issue that I knew would cause some pain and suffering for creating a maven build.
With virgo-build there are well known locations of the artifacts and this knowledge is reflected in test.config.properties.
Example (from org.eclipse.virgo.medic.integrationtest):
There are at least 4 issues of reusing this set-up with Maven.
1. location of repository (i.e. ivy-cache/repository vs. .m2/repository)
2. structure of repository (org.aspectj vs org/aspectj)
3. version of the artifact (and + ivy - Ripplor controlled, with Maven -SNAPSHOT for example)
4. virgo-build generates artifacts in target/artifacts without a version, Maven does it (by default) in target with a version qualifier.
Given these issues (at least these issues) - I would like to solicit some feed back from interested parties on a way forward.
Some potential solutions:
1. Make maven copy jars in expected location
- maven build will have to not only track dependencies in ivy but also changes to test config
2. Provide some placeholders and filter test.config.properties from both systems before test run
- could be messy and introduces another set of filter files and such...
3. Modify ant virgo-build to copy dependencies to for example $module/target/dependencies directory vs. referencing from known locations
- not sure how much work that will be on potentially creating extra ivy resolvers and such...
4. Have two separate but equal files
- one for virgo-build one for virgo-maven-build
- maven will have to take care to override default one with its own
So far I like option 4 as it introduces least amount of work for everyone and results in just one extra file added to the repo.
Any other though on this topic? Ideas?