Okay, following the advice of the same co-worker that pointed me to this users
group, I also took a look at another project's "pom.xml" files, and modified
the mentioned Parent and Child "pom.xml" files accordingly. Then this morning
when I came in I replaced the two references to version 0.5.10.201208310627
with 0.6.4.201312101107 as Marc suggested. Then I ran "mvn clean install -P
create-jacoco-reports". It finished with a declaration of "BUILD SUCCESS", but
when I went looking for a "jacoco.xml" file I couldn't find one anywhere.
Yesterday I was getting a "jacoco.xml" file, albeit one too small to be of much
use, but now I'm not getting any "jacoco.xml" file at all.
I took a look at the output of the Maven command and did a search on "jacoco"
and the interesting results I got are included at the end of this article,
followed by the "pom.xml" for the Parent and the "pom.xml" for the Child. Any
idea what these messages mean and how I can fix my "pom.xml" files so that my
Maven command actually generates a "jacoco.xml"?
Kevin S
##############################################################################
...
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:prepare-agent (agent) @
tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
[INFO]
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:prepare-agent (pre-test) @
tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
[INFO]
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:prepare-agent
(jacoco-intialize) @ tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
[INFO]
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:report (report) @
tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
...
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:prepare-agent (agent) @
tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
[INFO]
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:prepare-agent (pre-test) @
tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
[INFO]
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:prepare-agent
(jacoco-intialize) @ tree-data-parent ---
[INFO] Skipping JaCoCo for project with packaging type 'pom'
...
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:report (report) @ tree-data
---
[INFO] Skipping JaCoCo execution due to missing execution data file
...
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:report (report) @
tree-acceptance-of-ct ---
[INFO] Skipping JaCoCo execution due to missing execution data file
...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
java.lang.instrument.IllegalClassFormatException: Error while instrumenting
class org/familysearch/tree/ws/services/BaseService.
at
org.jacoco.agent.rt.internal_6effb9e.CoverageTransformer.transform(CoverageTransformer.java:89)
...
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.io.IOException: Error while instrumenting class
org/familysearch/tree/ws/services/BaseService.
at
org.jacoco.agent.rt.internal_6effb9e.core.instr.Instrumenter.instrumentError(Instrumenter.java:147)
at
org.jacoco.agent.rt.internal_6effb9e.core.instr.Instrumenter.instrument(Instrumenter.java:98)
at
org.jacoco.agent.rt.internal_6effb9e.CoverageTransformer.transform(CoverageTransformer.java:87)
... 27 more
Caused by: java.lang.IllegalStateException: Missing or invalid stackmap frames.
at
org.jacoco.agent.rt.internal_6effb9e.core.internal.instr.FrameTracker.assertValidFrames(FrameTracker.java:613)
at
org.jacoco.agent.rt.internal_6effb9e.core.internal.instr.FrameTracker.pop(FrameTracker.java:602)
at
org.jacoco.agent.rt.internal_6effb9e.core.internal.instr.FrameTracker.visitVarInsn(FrameTracker.java:386)
at
org.jacoco.agent.rt.internal_6effb9e.asm.MethodVisitor.visitVarInsn(Unknown
Source)
at
org.jacoco.agent.rt.internal_6effb9e.asm.MethodVisitor.visitVarInsn(Unknown
Source)
at
org.jacoco.agent.rt.internal_6effb9e.asm.tree.VarInsnNode.accept(Unknown Source)
at
org.jacoco.agent.rt.internal_6effb9e.asm.tree.InsnList.accept(Unknown Source)
at
org.jacoco.agent.rt.internal_6effb9e.asm.tree.MethodNode.accept(Unknown Source)
at
org.jacoco.agent.rt.internal_6effb9e.core.internal.flow.ClassProbesAdapter$1.visitEnd(ClassProbesAdapter.java:124)
at org.jacoco.agent.rt.internal_6effb9e.asm.ClassReader.b(Unknown
Source)
at org.jacoco.agent.rt.internal_6effb9e.asm.ClassReader.accept(Unknown
Source)
at org.jacoco.agent.rt.internal_6effb9e.asm.ClassReader.accept(Unknown
Source)
at
org.jacoco.agent.rt.internal_6effb9e.core.instr.Instrumenter.instrument(Instrumenter.java:78)
at
org.jacoco.agent.rt.internal_6effb9e.core.instr.Instrumenter.instrument(Instrumenter.java:96)
... 28 more
...
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:report (report) @
tree-component-tests ---
[INFO] Skipping JaCoCo execution due to missing execution data file
...
[INFO] --- jacoco-maven-plugin:0.6.4.201312101107:report (report) @
tree-data-acceptance ---
[INFO] Skipping JaCoCo execution due to missing execution data file
...
##############################################################################
<?xml version="1.0" encoding="UTF-8"?>
<project ...>
...
<name>Parent</name>
...
<properties>
...
<jacoco.argLine/>
...
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
...
<sonar.java.codeCoveragePlugin>jacoco</sonar.java.codeCoveragePlugin>
<sonar.jacoco.reportPath>${project.basedir}/../tree-component-tests/target/jacoco.exec</sonar.jacoco.reportPath>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
...
<jacoco.version>0.6.3.201306030806</jacoco.version>
...
</properties>
<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.6.4.201312101107</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.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
<configuration>
...
<properties>
...
<property>
<name>jacoco-maven-plugin.version</name>
<version>[0.5.6.0,)</version>
</property>
...
</properties>
</configuration>
</plugin>
...
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<destFile>${project.basedir}/../target/jacoco.exec</destFile>
<append>true</append>
<excludes>
<exclude>**/*Test.*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</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>
...
<properties>
...
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.jacoco.reportPath>${project.basedir}/../tree-component-tests/target/jacoco.exec</sonar.jacoco.reportPath>
...
<jacoco.argLine />
<surefirePlusJacoco.argLine>${surefire.argLine}
${jacoco.argLine}</surefirePlusJacoco.argLine>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
<excludes>
<exclude>org/familysearch/functest/*.class</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</pluginManagement>
...
<plugins>
...
<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>
...
<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.6.4.201312101107</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.