Hi,
if the jacoco.xml file is empty this means that no classes are processed
by the report goal.
You're using a quite old version of JaCoCo (0.5.10). I would recommend
to uprade to the latest release (0.6.4.201312101107). Many issues have
been fixed with the Maven plug-in.
Best regards,
-marc
On 07.01.14 23:16, [email protected] wrote:
Currently I'm working on a project that has four components. We need to know
the code coverage of just one of those components. We're using JaCoCo and
Sonar, but right now the report says we have 0.0% coverage. My lead says
that's impossible; he would have expected coverage between 70% and 90%. I have
been given the job of finding out why the report is saying 0.0%, and getting it
to output the right coverage.
I put together a sample project and used JaCoCo to analyze its coverage, and it worked just fine.
It generated a "jacoco.xml" file that had a lot of coverage information on it. When I
use Maven to run the tests on our actual project, that generates a "jacoco.xml" file too,
but it's only:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd">
<report name="Parent">
<sessioninfo id="A-1007000-4b0bf47b" start="1389122416273"
dump="1389122421783"/>
</report>
Policy keeps me from attaching the two actual "pom.xml" files, but at the end of this post I list those two
"pom.xml" files with everything but the JaCoCo-relevant parts stripped out. I've obviously changed the names of the
respective components to "Parent" and "Child". Can anyone tell me why this is resulting in the
"jacoco.xml" file with no coverage information?
Kevin S
##############################################################################
<?xml version="1.0" encoding="UTF-8"?>
<project ...>
...
<name>Parent</name>
...
<profiles>
<profile>
<id>create-jacoco-reports</id>
<activation>
<property>
<name>component.pipeline</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.5.10.201208310627</version>
<configuration>
<destFile>${project.basedir}/../target/jacoco.exec</destFile>
<append>true</append>
<excludes>
<exclude>**/*Test.*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>jacoco-intialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>
<build>
<pluginManagement>
<plugins>
...
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
</plugin>
...
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
...
</project>
##############################################################################
<?xml version="1.0" encoding="UTF-8"?>
<project ...>
...
<name>Child</name>
...
<build>
...
<plugins>
...
<plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
<configuration>
<reportPlugins>
...
<!-- Code Coverage -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
...
</reportPlugins>
</configuration>
</plugin>
...
</plugins>
</build>
<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<!--<groupId>@project.groupId@</groupId>-->
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>@project.version@</version>
</plugin>
...
</plugins>
</reporting>
...
<profiles>
<profile>
<id>coverage-per-test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.13</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>org.sonar.java.jacoco.JUnitListener</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.codehaus.sonar-plugins.java</groupId>
<artifactId>sonar-jacoco-listeners</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>cr-ja-re</id>
<activation>
<property>
<name>component.pipeline</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.5.10.201208310627</version>
<configuration>
<destFile>${project.basedir}/../target/jacoco.exec</destFile>
<excludes>
<exclude>**/*Test.*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>jacoco-intialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>
</project>
--
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.