www-repository mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Lundberg <denn...@apache.org>
Subject Re: How do I relocate an artifact?
Date Mon, 03 Jul 2006 20:57:08 GMT
Carlos Sanchez wrote:
> On 7/3/06, Dennis Lundberg <dennisl@apache.org> wrote:
>> Hello list
>> This is my first post to this list. Please let me know if these
>> questions are inappropriate for this list.
>> Being a committer at jakarta-commons, I have started the work on
>> relocating the artifacts for commons to a new groupId. At present all
>> released artifacts for commons components are deployed to the ASF
>> java-repository (from here on I will call it the Maven 1 repository).
>> The artifacts are deployed there in a commons-<component_name> directory.
>> We would like to relocate our artifacts to the new structure and use a
>> groupId of org.apache.commons. Discussions about this has been held [1]
>> on commons-dev@jakarta.apache.org. Brett Porter and Carlos Sanchez have
>> been helpful in the discussions and have recommended what needs to be
>> tested.
>> I have done the necessary testing and would now like to take the next
>> step. There is one question that remains unanswered, and that is which
>> repository to make the change in: Maven 1 or Maven 2.
> You would need to put the relocation poms in the Maven 2 one, I'll
> sync it to ibiblio overriding what it was previously there.

OK, but there are no Maven 2 poms for commons components in the ASF 
Maven 2 repo, because commons components are built using Maven 1. I 
understand that the Maven 1 poms are converted before they are synced to 
the Maven 2 repo at ibiblio. Are they built and kept somewhere on ASF 
hardware, so that I can get my hands on them? This would be needed for 
re-signing the poms as well.

> Artifacts go to the repository of the Maven version they are build
> with, so things built with maven1 go to the maven1 repo (directory
> org.apache.commons) and things built with maven2 go to the maven2 repo
> (directory org/apache/commons)


>> The tests I have made have all been done using Maven 2 and a local Maven
>> 2 repository. How would I go about relocation something in the Maven 1
>> repo? The Maven 1 pom does not seem to have a relocation element, like
>> the Maven 2 pom have.
> Maven 1 users using old group will work as always as artifacts won't
> be removed, just poms, but they need to explicitly change the groupId
> of their commons dependencies to use the new releases.
> Maven 2 users using the old groupId will get a warning to remember
> updating the groupid. Note that it'd be helpful to add a relocation
> pom for the next release of every commons library to the old group so
> people get the warning when trying to update only version, as they may
> have cached poms of the current ones.

So, when we release the next version of, say commons-lang (2.2), we 
should publish a Maven 2 pom with a groupId of commons-lang, a version 
of 2.2 and include a relocation section? In addition to publishing the 
Maven 1 pom as we have always done. This step would be a one time thing 
to do for the first release of every component after the change of 
groupId is made, right?

>> Another thing that I wondered about, as I read about publishing
>> artifacts,  is signing. The old pom will have to be changed, on way or
>> the other, to include the relocation info. Does that mean that it needs
>> to be re-signed?
> I think so, I'd consider that this is a special case and pom
> modification is allowed.
>> [1]http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/200605.mbox/%3c1147518485.8876.4.camel@knossos.elmet%3e

>> -- 
>> Dennis Lundberg

Dennis Lundberg

View raw message