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

Jacoco: "base dir doesn't exist" RTE when you put spaces in the Jacoco config dir lists

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • jacoco-plugin
    • None

      1. Create a job with the Jacoco plugin pointing at this project: https://github.com/adamcath/jenkins-jacoco-delimiter-bug.git
      2. The job should execute "cd project2; ./gradlew build"
      3. 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
        
      4. Run the build. Note that everything works fine.
      5. 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
        
      6. 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
      

            ognjenb Ognjen Bubalo
            adamcath Adam Cath
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: