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

"Use previous build as reference" doesn't work for maven multi-module projects

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • pmd-plugin
    • None
    • Jenkins: 1.609.1
      analysis-core-plugin: 1.72
      pmd-plugin: 3.41

      When trying to publish PMD analysis results for a maven multi-module project the overall reference build (stated at a build results page) doesn't take into account "Use previous build as reference" checkbox.
      TC:

      1. Create a job that publishes PMD analysis results for a maven multi-module project
      2. Create a successful build (let's call in #N)
      3. Set build configuration to use deltas and mark build unstable only if there are new HIGH warnings (i.e. consequent builds without codebase changes should produce successful builds only)
      4. Introduce 2 new HIGH warnings and start build ( #(N+1) )
        ER: #(N+1) should become unstable
      5. Fix 1 introduced HIGH warning ant start build ( #(N+2) )
        ER: #(N+2) should become successful (since comparing to #(N+1) no new HIGHs were introduced)
        AR: #(N+2) is still unstable; it says its reference build is still #N (while console output prints [PMD] Computing warning deltas based on reference build #(N+1))

          [JENKINS-28938] "Use previous build as reference" doesn't work for maven multi-module projects

          Not that familiar with Jenkins/analysis-core/pmd internal structure, but it looks like PmdMavenResultAction.createAggregatedAction(MavenModuleSetBuild, Map<MavenModule, List<MavenBuild>>) ignores usePreviousBuildAsReference (together with useStableBuildAsReference) value:

          new PmdResult(build, getDefaultEncoding(), new ParserResult(), false, false)
          

          Attaching a patch to fix it (populates these values from delegate -> result -> history since it's the only place I see them reachable from here; at least it fixes the issue for my case).

          Vsevolod Kalinin added a comment - Not that familiar with Jenkins/analysis-core/pmd internal structure, but it looks like PmdMavenResultAction.createAggregatedAction(MavenModuleSetBuild, Map<MavenModule, List<MavenBuild>>) ignores usePreviousBuildAsReference (together with useStableBuildAsReference ) value: new PmdResult(build, getDefaultEncoding(), new ParserResult(), false , false ) Attaching a patch to fix it (populates these values from delegate -> result -> history since it's the only place I see them reachable from here; at least it fixes the issue for my case).

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          .idea/libraries/Maven__antlr_antlr_2_7_7.xml
          .idea/libraries/Maven__com_google_guava_guava_jdk5_14_0_1.xml
          .idea/libraries/Maven__com_puppycrawl_tools_checkstyle_5_8.xml
          .idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_8_3.xml
          .idea/libraries/Maven__org_jvnet_hudson_plugins_analysis_core_1_72.xml
          analysis-collector
          analysis-core
          analysis-test
          checkstyle
          dry
          findbugs
          pmd
          tasks
          warnings
          http://jenkins-ci.org/commit/analysis-suite-plugin/4b272092656908765f2a51f3257e76233d1de1cb
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/analysis-suite-plugin/compare/b8a92150a03e...4b2720926569

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: .idea/libraries/Maven__antlr_antlr_2_7_7.xml .idea/libraries/Maven__com_google_guava_guava_jdk5_14_0_1.xml .idea/libraries/Maven__com_puppycrawl_tools_checkstyle_5_8.xml .idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_8_3.xml .idea/libraries/Maven__org_jvnet_hudson_plugins_analysis_core_1_72.xml analysis-collector analysis-core analysis-test checkstyle dry findbugs pmd tasks warnings http://jenkins-ci.org/commit/analysis-suite-plugin/4b272092656908765f2a51f3257e76233d1de1cb Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/analysis-suite-plugin/compare/b8a92150a03e...4b2720926569

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          analysis-collector.iml
          pom.xml
          http://jenkins-ci.org/commit/analysis-collector-plugin/5871068c66e1e869a006be24c009d2a331924c46
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/analysis-collector-plugin/compare/b955ef36a19a...5871068c66e1

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: analysis-collector.iml pom.xml http://jenkins-ci.org/commit/analysis-collector-plugin/5871068c66e1e869a006be24c009d2a331924c46 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/analysis-collector-plugin/compare/b955ef36a19a...5871068c66e1

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          src/main/java/hudson/plugins/analysis/core/MavenResultAction.java
          http://jenkins-ci.org/commit/analysis-core-plugin/52f1d7492e92d15ca865cb90948f9588f71d2535
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: src/main/java/hudson/plugins/analysis/core/MavenResultAction.java http://jenkins-ci.org/commit/analysis-core-plugin/52f1d7492e92d15ca865cb90948f9588f71d2535 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          analysis-test.iml
          pom.xml
          http://jenkins-ci.org/commit/analysis-test-plugin/b62615938f7345a7294a98892c0544814a2bfa83
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/analysis-test-plugin/compare/871dbcdd671d...b62615938f73

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: analysis-test.iml pom.xml http://jenkins-ci.org/commit/analysis-test-plugin/b62615938f7345a7294a98892c0544814a2bfa83 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/analysis-test-plugin/compare/871dbcdd671d...b62615938f73

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          checkstyle.iml
          pom.xml
          src/main/java/hudson/plugins/checkstyle/CheckStyleMavenResultAction.java
          http://jenkins-ci.org/commit/checkstyle-plugin/d289a2613b12e0cbfd10513abe27620c57886fa0
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/checkstyle-plugin/compare/f93909d278db...d289a2613b12

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: checkstyle.iml pom.xml src/main/java/hudson/plugins/checkstyle/CheckStyleMavenResultAction.java http://jenkins-ci.org/commit/checkstyle-plugin/d289a2613b12e0cbfd10513abe27620c57886fa0 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/checkstyle-plugin/compare/f93909d278db...d289a2613b12

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          dry.iml
          pom.xml
          src/main/java/hudson/plugins/dry/DryMavenResultAction.java
          http://jenkins-ci.org/commit/dry-plugin/1767d1b25dfa339aff49d3c91ff58c1ae0e6ae50
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/dry-plugin/compare/6aa30c444b21...1767d1b25dfa

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: dry.iml pom.xml src/main/java/hudson/plugins/dry/DryMavenResultAction.java http://jenkins-ci.org/commit/dry-plugin/1767d1b25dfa339aff49d3c91ff58c1ae0e6ae50 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/dry-plugin/compare/6aa30c444b21...1767d1b25dfa

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          plugin/findbugs.iml
          plugin/pom.xml
          plugin/src/main/java/hudson/plugins/findbugs/FindBugsMavenResultAction.java
          http://jenkins-ci.org/commit/findbugs-plugin/976c1403db809bd6a93b332721c0cc189e8ffbe3
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: plugin/findbugs.iml plugin/pom.xml plugin/src/main/java/hudson/plugins/findbugs/FindBugsMavenResultAction.java http://jenkins-ci.org/commit/findbugs-plugin/976c1403db809bd6a93b332721c0cc189e8ffbe3 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          pmd.iml
          pom.xml
          src/main/java/hudson/plugins/pmd/PmdMavenResultAction.java
          http://jenkins-ci.org/commit/pmd-plugin/db4e9a4e25cc1c49a9347ac56ab9c4eb2ea4aa6d
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/pmd-plugin/compare/83cda3f27de9...db4e9a4e25cc

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: pmd.iml pom.xml src/main/java/hudson/plugins/pmd/PmdMavenResultAction.java http://jenkins-ci.org/commit/pmd-plugin/db4e9a4e25cc1c49a9347ac56ab9c4eb2ea4aa6d Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/pmd-plugin/compare/83cda3f27de9...db4e9a4e25cc

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          pom.xml
          src/main/java/hudson/plugins/tasks/TasksMavenResultAction.java
          tasks.iml
          http://jenkins-ci.org/commit/tasks-plugin/af9f72def8917b97141d789e475137565a231d6e
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/tasks-plugin/compare/75989e6b21e6...af9f72def891

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: pom.xml src/main/java/hudson/plugins/tasks/TasksMavenResultAction.java tasks.iml http://jenkins-ci.org/commit/tasks-plugin/af9f72def8917b97141d789e475137565a231d6e Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/tasks-plugin/compare/75989e6b21e6...af9f72def891

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          pom.xml
          warnings.iml
          http://jenkins-ci.org/commit/warnings-plugin/53d5b39aa56d1520ba14914e33d3ceae2d13eaa4
          Log:
          [FIXED JENKINS-28938] Use correct reference build in maven jobs.

          Compare: https://github.com/jenkinsci/warnings-plugin/compare/d30ce6176a88...53d5b39aa56d

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: pom.xml warnings.iml http://jenkins-ci.org/commit/warnings-plugin/53d5b39aa56d1520ba14914e33d3ceae2d13eaa4 Log: [FIXED JENKINS-28938] Use correct reference build in maven jobs. Compare: https://github.com/jenkinsci/warnings-plugin/compare/d30ce6176a88...53d5b39aa56d

            drulli Ulli Hafner
            flash_1999 Vsevolod Kalinin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: