I have a CI setup for a Eclipse product with the following phases:
* compile and create p2 repository
* run fast unit tests on Windows
* run fast unit tests on Linux
* run slower tests on Windows
* run slower tests on Linux
* run some hw dependent tests
* run other hw dependent tests
* run product tests on Windows
* run product tests on Linux
(and actually a few more - with a total of 21 phases all together)
All the tests are run against the p2 repository that is created in the first phase.
Many of the test bundles contains tests for many different test phases, where we use JUnit categories to select the correct tests in each phase. This way we can keep all the tests for a specific feature in the same bundle, which makes it a lot easier to understand and maintain.
Now... since we then re-use the same test bundles in many different tests, it would be very nice to avoid re-compiling the same bundles again and again and just re-use them from a p2 reposuitory created in the first phase. But that is not how the eclipse-test-plugin packaging type is set up: this packaging will compile the sources before the surefire run every time.
So... the question is whether there are any sane way to avoid this re-compilation? As we want all the dependency handling of Tycho, we cannot just make a new packaging type.
Has anybody else tried to avoid this re-compilation?