-
Bug
-
Resolution: Fixed
-
Major
-
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:
- Create a job that publishes PMD analysis results for a maven multi-module project
- Create a successful build (let's call in #N)
- 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)
- Introduce 2 new HIGH warnings and start build ( #(N+1) )
ER: #(N+1) should become unstable - 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))
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:
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).