"Skipping JaCoCo execution due to missing execution data file." only in CI environment

409 views
Skip to first unread message

pilch.p...@gmail.com

unread,
Jul 4, 2016, 4:15:09 PM7/4/16
to JaCoCo and EclEmma Users
Hello,

I am trying to debug an issue I'm experiencing with JaCoCo that manifests in my CI environment (Travis), but not locally on my workstation. My intended goal is to have two separate reports produced by JaCoCo - one for unit tests, and the other for integration tests.

On my workstation running Maven 3.3.9 and JDK 1.8.0_91, everything works as intended when I run standard lifecycle goals like "install" or "verify". I based my configuration off of https://github.com/Godin/sonar-experiments/blob/master/jacoco-examples/maven-invoker-plugin-example/pom.xml
My ${project.reporting.outputDirectory} successfully contains "jacoco-it" and "jacoco-ut".
My POM file is here: https://github.com/patrickpilch/dependency-license-checker/blob/d4a3e3370639c2f52d7083ca5163cdaaace3ba15/pom.xml#L153 and a debug log of a successful local build is here: https://gist.githubusercontent.com/patrickpilch/21d32e367b312443c98cbf2bcaa687fa/raw/c0784a269d744e165ab5cdf533c8ffff7e01c668/local_build_log.md

The problem I'm experiencing is that when trying to build in my CI environment, only the JaCoCo unit tests .exec file and reports appear. The Travis build debug output with environment details and versions is here: https://gist.githubusercontent.com/patrickpilch/21d32e367b312443c98cbf2bcaa687fa/raw/c0784a269d744e165ab5cdf533c8ffff7e01c668/ci_build_output.md

It's easy to reproduce this on a Travis docker container. Instructions here: https://gist.githubusercontent.com/patrickpilch/21d32e367b312443c98cbf2bcaa687fa/raw/c0784a269d744e165ab5cdf533c8ffff7e01c668/steps_to_reproduce.md

Any help would be appreciated. Thank you!

Mirko Friedenhagen

unread,
Jul 4, 2016, 5:36:02 PM7/4/16
to jac...@googlegroups.com

Hello,

you could try to use Maven 3.3.9 as well in Travis, see
https://github.com/mojohaus/mojo-parent/blob/master/.travis.yml for how to use the takari wrapper plugin.

Regards
Mirko
--
Sent from my mobile

--
You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacoco+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacoco/0ebc42d3-0228-4ab5-a4a8-d6e54050a554%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

pilch.p...@gmail.com

unread,
Jul 4, 2016, 6:40:44 PM7/4/16
to JaCoCo and EclEmma Users
Hi Mirko,

Unfortunately that did not resolve the issue.

Commands executed:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.9
./mvnw --show-version clean verify

Output here: https://gist.githubusercontent.com/patrickpilch/21d32e367b312443c98cbf2bcaa687fa/raw/fac1d3372bb24d18f3df7fcba5a8acc9a0c4296a/wrapper_test.txt

Mirko Friedenhagen

unread,
Jul 5, 2016, 12:59:33 AM7/5/16
to jac...@googlegroups.com

Hello,

the prepare steps only set a system property argLine, which is picked up by surefire resp. failsafe plugins and added for the forked test JVM. You are using the invoker plugin, where an equivalent option is called invokerOpts, see http://maven.apache.org/plugins/maven-invoker-plugin/run-mojo.html.

Try setting a property <invoker.mavenOpts>${argLine}</invoker.mavenOpts>.

Regards
Mirko
--
Sent from my mobile

Am 05.07.2016 00:38 schrieb <teun...@gmail.com>:
Hi Mirko,

Unfortunately that did not solve the issue.


Commands executed:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.9
./mvnw --show-version clean verify

Output here: https://gist.githubusercontent.com/patrickpilch/21d32e367b312443c98cbf2bcaa687fa/raw/fac1d3372bb24d18f3df7fcba5a8acc9a0c4296a/wrapper_test.txt

On Monday, July 4, 2016 at 4:36:02 PM UTC-5, Mirko Friedenhagen wrote:

Evgeny Mandrikov

unread,
Jul 5, 2016, 3:28:36 AM7/5/16
to JaCoCo and EclEmma Users
Hi Patrick,

I think that the problem in Travis is that configuration done by maven-invoker-plugin via mavenOpts is overwritten by "~/.mavenrc", which is presented in Travis. We faced the same issue in the build of JaCoCo itself - see our description and solution at https://github.com/jacoco/jacoco/blob/master/.travis.sh#L59
To unsubscribe from this group and stop receiving emails from it, send an email to jacoco+unsubscribe@googlegroups.com.

pilch.p...@gmail.com

unread,
Jul 5, 2016, 8:09:08 AM7/5/16
to JaCoCo and EclEmma Users
Evgeny,

Adding a MAVEN_SKIP_RC 'env' entry in my .travis.yml did the trick!

Thanks Evgeny & Mirko
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages