Paul Gier wrote:
There was some discussion recently on the Maven mailing list about
synchronizing artifacts between the jboss maven repository and the
central maven repository [1]. One of the main issues is how can we
synchronize with the central repository when we have rebuilt
thirdparty artifacts that use the same groupId and artifactId.
Currently, we publish rebuilt artifacts with a modified version number
like "1.1-brew", and then just update the POMs to point to that
version. This (usually) works nicely because Maven automatically
excludes transitive dependencies on other versions of this jar. But
we can't push this back to the central maven repository with the same
groupId because it didn't come from the upstream project. So the
recommendation of some Maven developers is to change the groupId
(possibly prefix it with org.jboss for rebuilt thirdparty jars).
This would be a good practice for us except for the fact that Maven's
dependency management does not currently have a way to link together
two groupId/artifactId combinations to say that these are two versions
of the same artifact. And that would mean more even effort to exclude
dependencies. But it might be our only choice if we want to
automatically sync with the central repository in the future.
Why do we want to
sync ? Why not just provide a repository with the
prefixed versions and ask users if they want jboss stuff to build
correctly they should put this repository into the .m2settings or have
something similar at their own repository manager ?
/max