Hi all,

Is there an easy way to split build server run into a compilation and a
test step that runs as two build jobs?

I split build execution on my build server into two steps:
- compilation    mvn clean deploy -DskipTests
- test               mvn surefire:test failsafe:integration-tests
failsafe:verify

This keeps tests that run amok from blocking generation of artifacts for
people to use in testing.  Ideally, I'd have no tests that could stall a
build.

However, I'm running into problems with this solution as some modules
require additional plugins to execute goals prior to failsafe test
execution.  I can determine all of those plugins and goals, then add them
to my job definition but this seems fragile.

Ideally, i'd like a set of job steps like so:
- compilation of core
- parallel compilation of unrelated modules on multiple machines
- parallel unit and integration tests on multiple machines
- collection of results

However, this does run against the maven way.

Have any of you run into this kind of situation and did you find a
satisfactory way to execute individual lifecycle phases without executing
all previous phases?

In the worst case, I can re run the compilation during test, but since
compilation involves GWT which takes about 15m to compile or recompile I'd
rather not double compile anything.

Thanks for the help

Peter

-- 
Peter Kahn
[email protected]
http://www.google.com/profiles/citizenkahn
Awareness - Intention - Action

Reply via email to