Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jacoco report in command line

Tags:

java

jacoco

I have to write a .sh launching an UI application covered with Jacoco. On exit, a jacoco report must be generated.

I'm not able to generate the jacoco.exec with this simple command :

java -jar ../binaries/editor.debug/application.jar -javaagent:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile=jacoco.exec

The first part of the command works fine and launch the program, but the -javaagent option doesn't generate report and the program doesn't launch. If I do a syntax error it's exactly the same behavior.

What's wrong with my command ?

Secondly, this command create a .exec file. How can I generate a .html report in command line ?

like image 877
Quentin Apruzzese Avatar asked Dec 23 '22 23:12

Quentin Apruzzese


2 Answers

The problem was the position of the -javaagent option. It needed to be in first position, like this :

java -javaagent:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile=jacoco.exec -jar ../binaries/editor.debug/application.jar

Then as Godin said, it's not possible to generate report in command line. I created an ant file exectoreport.xml with a rule do_jacoco_reports. The rule is launched by a script exectoreport.sh, that must be called after the natural exit of the application.

like image 168
Quentin Apruzzese Avatar answered Dec 28 '22 08:12

Quentin Apruzzese


By using jacococli.jar from jacoco 0.7.9 version, now reports can be generated using command line. I was trying the same and able to generate the report using commandline. If you are able to generate jacoco.exec file successfully use below command to generate the report.

java -jar "your local path/jacococli.jar" report "your local path/jacoco.exec" --classfiles "project path to class files" --html "local path\jacoco-report" --name myReport --sourcefiles "project path\src\main\java"

You should be able to see report in html format. Reference http://www.jacoco.org/jacoco/trunk/doc/cli.html

like image 45
Sikandar Avatar answered Dec 28 '22 08:12

Sikandar