I've created a hudson job for our maven multi-project with 5 modules to deploy the SNAPSHOT
artifacts to the maven repository. That's ok, as long as it builds successfully without test failures. However, now I'd like to fulfill the following requirements:
- When a module has a test failure, the build should continue bulding and test the other modules, but turn yellow. Using
-Dmaven.test.failure.ignore=true
accomplishes, but fails at the next requirement. - When a module has a test failure, none of the artifacts should be deployed to the maven repository. Other projects depend on the snapshots this project and those projects only want to use the latest snapshots that don't have any failing tests.
- Preferably, use the hudson maven integration instead of a free script we get the hudson report pages (red/yellow/blue status per module, build log error coloring, ...). Specifically running the maven build twice (first
mvn test -Dmaven.test.failure.ignore=true
, thanmvn deploy -DskipTests
) is not a solution because it's a performance loss and it confuses the hudson report pages and it's not atomic (it updates from the repositories again in the second build).
Is there any way to accomplish this?