You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The need to pick a distinct GA when using jitpack is problematic, since Maven then treats the artifact as unrelated to the “real” one. An example of a problem that you can hit is that the dependency resolution algorithm “prefer nearest” breaks down when there are dependency trails to both the jitpack and regular versions of the same dependency: Maven will include both in the dependency graph, causing mayhem.
Here in jenkinsci/workflow-job-plugin#27 you can see an example of the fragile workaround of excludeing the regular versions. This is onerous enough that I think I would rather go back to deploying timestamped snapshots (obviously only an option if you have upload permission to a relevant repository).
Would it be possible to allow you to keep the original GA and encode the repository information in the version instead? For example, rather than
Requires hardcoding the name of the repo in ExternalVersionExtension, because
jitpack overrides groupId:
jitpack/jitpack.io#1029
Furthermore, for multi-module projects there can only be one groupId:
jitpack/jitpack.io#2872
So changed everything to be in *.version (i.e. not in *.plugin). Maven
complains that maven-*-plugin should be in groupId org.apache.maven.plugins,
but works anyway.
The need to pick a distinct GA when using jitpack is problematic, since Maven then treats the artifact as unrelated to the “real” one. An example of a problem that you can hit is that the dependency resolution algorithm “prefer nearest” breaks down when there are dependency trails to both the jitpack and regular versions of the same dependency: Maven will include both in the dependency graph, causing mayhem.
Here in jenkinsci/workflow-job-plugin#27 you can see an example of the fragile workaround of
exclude
ing the regular versions. This is onerous enough that I think I would rather go back todeploy
ing timestamped snapshots (obviously only an option if you have upload permission to a relevant repository).Would it be possible to allow you to keep the original GA and encode the repository information in the
version
instead? For example, rather thanI would much rather see
or even (for better behavior with, e.g.,
versions:display-dependency-updates
)where the dependency is
The text was updated successfully, but these errors were encountered: