Currently the Benchmarks are also tested when unit tests run (both, on CI Server and on a local machine).
When cherry picking for a release, many builds are involved (after each cherry-picked commit). For 2.0.4 it were 47 commits.
In 2.0.3 one mvn clear test ran 01:29 min on my machine. On current master it runs 07:40 min.
That. is. too. long.
Overall build time
The next release has nearly 700 commits.
Goal: Create faster builds
Non-Goals: Remove tests completely
Suggested solution:
Note: Next week I meet Stefan Oehme (Gradle Gmbh) in Kiel to create a Gradle build for Javaslang.
+1 for a Gradle build, though that's not the source of slowdown.
Our build is not very complicated, should be doable in a few days :) (I've done more Maven to Gradle transitions that I'm proud to admit ...).
Also, if you cherrypick locally and commit the result only once, it would result in a single build.
We will move to Gradle and optimize the build #1277
@danieldietrich, why do you think Gradle will make the tests run faster?
@paplorinc The travis CI build time does not matter to me. It is the local build time that matters when I cherry-pick commits for a release.
When switching to Gradle I will add options to disable GWT tests and Benchmarks. I will run these once before pushing.
As mentioned previously, you can do that today also, by cherrypicking everything locally, and push only at the end.
I don't think Gradle will do anything differently here.
If Travis supports it, we may try parallel tests, however :) (probably possible in Maven also)
I think it can be configured with Maven Surefire Fork option
Most helpful comment
Note: Next week I meet Stefan Oehme (Gradle Gmbh) in Kiel to create a Gradle build for Javaslang.