By excluding the transitive dependency on org.codehaus.groovy:groovy-all:jar:3.0.13 we can prevent Maven builds from breaking simply by depending on this plugin. The same has already been done to the dependency on build-info-extractor-gradle right below in the pom.xml which leads me to suspect that it has been forgotten with the addition of the build-info-extractor-maven3 dependency. Obviously, Groovy is supplied in the runtime classpath of Jenkins itself and is therefore redundant.
By excluding the transitive dependency on
org.codehaus.groovy:groovy-all:jar:3.0.13
we can prevent Maven builds from breaking simply by depending on this plugin. The same has already been done to the dependency onbuild-info-extractor-gradle
right below in thepom.xml
which leads me to suspect that it has been forgotten with the addition of thebuild-info-extractor-maven3
dependency. Obviously, Groovy is supplied in the runtime classpath of Jenkins itself and is therefore redundant.To illustrate the current issue I have created a minimal sample Maven project here: https://github.com/lpradel/jenkins-artifactory-plugin-groovy-all-dependency-fault-demo This project only has a single dependency which is this plugin and the build will always fail with the following error message:
Could not resolve dependencies (...) : Could not find artifact org.codehaus.groovy:groovy-all:jar:3.0.13
In fact this problem can also be observed by simply trying to import the plugin sources to an IDE of your choice:
I believe the cause of this is that
build-info-extractor-maven3
is built through Gradle and therefore the following issue comes into play: [1] https://github.com/geb/issues/issues/586 [2] https://stackoverflow.com/questions/61444749/could-not-find-artifact-org-codehaus-groovygroovy-alljar2-5-6-in-pom-in-java/61444990[x] All tests passed. If this feature is not already covered by the tests, I added new tests.