Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-18863

JaCoCo plugin does not handle JaCoCo modules for the coverage trend charts correctly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • jacoco-plugin
    • None

      The JaCoCo plugin seems to not handle JaCoCo modules correctly in some places. During collecting the data, files are saved per-module:

      ls /opt/jenkins/builds/job1/2012-10-04_21-58-03/jacoco/

      module0 Modules.properties

      However when I open the "JaCoCo Coverage Report", the chart is not displayed. The logfile shows the following, which indicates that it tries to access the "classes" directory underneath "jacoco", however it can be found underneath "jacoco/module0"

      Caused by: java.lang.IllegalStateException: basedir /opt/jenkins/builds/job1/2012-10-04_21-58-03/jacoco/classes does not exist
      at org.codehaus.plexus.util.DirectoryScanner.scan(DirectoryScanner.java:550)
      at org.codehaus.plexus.util.FileUtils.getFileAndDirectoryNames(FileUtils.java:1717)
      at org.codehaus.plexus.util.FileUtils.getFileNames(FileUtils.java:1645)
      at org.codehaus.plexus.util.FileUtils.getFileNames(FileUtils.java:1627)
      at org.codehaus.plexus.util.FileUtils.getFiles(FileUtils.java:1601)
      at org.codehaus.plexus.util.FileUtils.getFiles(FileUtils.java:1584)
      at hudson.plugins.jacoco.ExecutionFileLoader.analyzeStructure(ExecutionFileLoader.java:129)
      at hudson.plugins.jacoco.ExecutionFileLoader.loadBundleCoverage(ExecutionFileLoader.java:138)
      at hudson.plugins.jacoco.JacocoReportDir.parse(JacocoReportDir.java:102)
      at hudson.plugins.jacoco.JacocoBuildAction.getResult(JacocoBuildAction.java:217)
      at hudson.plugins.jacoco.report.CoverageReport.getPreviousResult(CoverageReport.java:153)
      at hudson.plugins.jacoco.report.CoverageReport.getPreviousResult(CoverageReport.java:37)
      at hudson.plugins.jacoco.model.CoverageObject$1.createDataSet(CoverageObject.java:428)
      at hudson.plugins.jacoco.model.CoverageObject$GraphImpl.createGraph(CoverageObject.java:466)
      at hudson.util.Graph.render(Graph.java:87)
      at hudson.util.Graph.doPng(Graph.java:98)
      at hudson.plugins.jacoco.model.CoverageObject.doGraph(CoverageObject.java:422)
      at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:297)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:160)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:95)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:684)
      ... 66 more

      the build.xml for the job contains one named "structure"

      <jacoco:report>
      ...
      <structure name="commons-dost">
      <classfiles>
      ..
      </structure>

      Output of the Publisher is as follows

      [JaCoCo plugin] Collecting JaCoCo coverage data...
      [JaCoCo plugin] *.exec;build/ant;src; locations are configured
      [JaCoCo plugin] Number of found exec files: 1
      [JaCoCo plugin] Saving matched execfiles: /opt/job1/jacoco.exec
      [JaCoCo plugin] Saving matched class directories: /opt/job1/build/ant
      [JaCoCo plugin] Saving matched source directories: /opt/job1/src
      [JaCoCo plugin] Loading inclusions files..
      [JaCoCo plugin] inclusions: []
      [JaCoCo plugin] exclusions: []
      [JaCoCo plugin] Thresholds: JacocoHealthReportThresholds [minClass=0, maxClass=100, minMethod=0, maxMethod=70, minLine=0, maxLine=80, minBranch=0, maxBranch=80, minInstruction=0, maxInstruction=80, minComplexity=0, maxComplexity=80]
      [JaCoCo plugin] Publishing the results..
      [JaCoCo plugin] Loading packages..
      [JaCoCo plugin] Done.

            ognjenb Ognjen Bubalo
            centic centic
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: