Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make dep on maven-plugin be optional #27

Merged
merged 1 commit into from
Mar 17, 2022

Conversation

jglick
Copy link
Member

@jglick jglick commented Feb 17, 2022

05e70af actually guarded the runtime code with a check whether the dep was present or not, but forgot to actually mark it optional.

@car-roll car-roll merged commit 63198ac into jenkinsci:master Mar 17, 2022
@jglick jglick deleted the maven-plugin-optional branch March 17, 2022 22:49
MarkEWaite added a commit to MarkEWaite/git-plugin that referenced this pull request Dec 11, 2022
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#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 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
+      <dependency>
+        <groupId>org.jenkins-ci.plugins</groupId>
+        <artifactId>conditional-buildstep</artifactId>
+        <version>1.4.2</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>

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.
MarkEWaite added a commit to jenkinsci/git-plugin that referenced this pull request Dec 11, 2022
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 #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 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
+      <dependency>
+        <groupId>org.jenkins-ci.plugins</groupId>
+        <artifactId>conditional-buildstep</artifactId>
+        <version>1.4.2</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Dependency updates
Projects
None yet
2 participants