From fef498d28f624cc8ba43a24ee24ca5f07e125a0b Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Sun, 11 Dec 2022 12:09:25 -0700 Subject: [PATCH] Add conditional build step plugin to fix BOM tests (#1375) Notes from Basil Crow: Can be reproduced in git-plugin by running ``` $ mvn -Denforcer.skip=true \ -Dhpi-plugin.version=3.37 -Djenkins.version=2.381 \ -Djth.jenkins-war.path=~/src/jenkinsci/bom/target/local-test/megawar.war \ -DoverrideWar=~/src/jenkinsci/bom/target/local-test/megawar.war \ -DoverrideWarAdditions=true -Dtest=InjectedTest \ -DupperBoundsExcludes=javax.servlet:servlet-api -DuseUpperBounds=true \ clean verify ``` after running ``` $ PLUGINS=git TEST=InjectedTest bash local-test.sh ``` in bom to build the megawar. Bisection shows the trouble started occurring at jenkinsci/git-plugin#1369 which updated parameterized-trigger from 2.39 to 2.43.1, which in turn updated conditional-buildstep from 1.3.1 to 1.4.1, which in turn put maven-plugin on the compile classpath. Turns out that declaring maven-plugin as non-optional was a bug in conditional-buildstep 1.4.1, fixed in 1.4.2 with jenkinsci/conditional-buildstep-plugin#27. Verified that the problem can be successfully worked around in git-plugin by downgrading parameterized-trigger back to 2.39 (which also downgrades conditional-buildstep down to 1.3.1) or upgrading conditional-buildstep to 1.4.2 with diff --git a/pom.xml b/pom.xml index 3753e57c..e187d4f4 100644 --- a/pom.xml +++ b/pom.xml @@ -79,6 +79,11 @@ pom import + + org.jenkins-ci.plugins + conditional-buildstep + 1.4.2 + But a better solution would be to upgrade conditional-buildstep to 1.4.2 in parameterized-trigger; i.e., releasing jenkinsci/parameterized-trigger-plugin#252 and then upgrading to that release in the Git plugin. --- pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pom.xml b/pom.xml index 3753e57c5b..57cbeac9c0 100644 --- a/pom.xml +++ b/pom.xml @@ -163,6 +163,17 @@ 2.43.1 true + + + + + org.jenkins-ci.plugins + conditional-buildstep + 1.4.2 + true + test + + org.jenkins-ci.plugins token-macro