-
Bug
-
Resolution: Duplicate
-
Minor
-
None
- Create a job with the Jacoco plugin pointing at this project: https://github.com/adamcath/jenkins-jacoco-delimiter-bug.git
- The job should execute "cd project2; ./gradlew build"
- Set the Jacoco config to:
Path to exec files: project1/build/jacoco/**.exec,project2/build/jacoco/**.exec Path to class directories: project1/build/classes,project2/build/classes Path to source directories: project1/src,project2/src
- Run the build. Note that everything works fine.
- Now, edit the config as follows:
// Note spaces between list items! Path to exec files: project1/build/jacoco, project2/build/jacoco Path to class directories: project1/build/classes, project2/build/classes Path to source directories: project1/src, project2/src
- Run the build.
Result: RTE during Jacoco step:
[JaCoCo plugin] Collecting JaCoCo coverage data... [JaCoCo plugin] project1/build/jacoco/**.exec, project2/build/jacoco/**.exec;project1/build/classes, project2/build/classes;project1/src, project2/src; locations are configured [JaCoCo plugin] Number of found exec files: 1 [JaCoCo plugin] Saving matched execfiles: /build/jenkins/workspace/acath-test-job/project2/build/jacoco/test.exec [JaCoCo plugin] Saving matched class directories: [JaCoCo plugin] Saving matched source directories: [JaCoCo plugin] Loading inclusions files.. [JaCoCo plugin] inclusions: [] [JaCoCo plugin] exclusions: [] ERROR: Publisher hudson.plugins.jacoco.JacocoPublisher aborted due to exception java.lang.IllegalStateException: basedir /var/lib/jenkins/jobs/acath-test-job/builds/2014-06-05_10-58-35/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.loadRatios(JacocoBuildAction.java:278) at hudson.plugins.jacoco.JacocoBuildAction.load(JacocoBuildAction.java:260) at hudson.plugins.jacoco.JacocoPublisher.perform(JacocoPublisher.java:380) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:714) at hudson.model.Build$BuildExecution.post2(Build.java:182) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:663) at hudson.model.Run.execute(Run.java:1714) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) Finished: FAILURE
I'm pretty sure the root cause is jacoco-plugin-jacoco.git/JacocoPublisher#resolveDirPaths: