commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig McClanahan" <craig...@apache.org>
Subject Re: [all][maven 2 configuration]
Date Mon, 28 Aug 2006 00:18:58 GMT
On 8/27/06, Phil Steitz <phil.steitz@gmail.com> wrote:
>
> IIUC, we currently have an m2 pom hierarchy that goes
>
> for sandbox components:
> component -> commons-sandbox -> commons -> jakarta
>
> for "proper" components:
> component -> commons -> jakarta
> (though only scxml appears to have an m2 build and it does not have a
> parent)
>
> There are some "vestigal" references in the sandbox to "sandbox-parent."
>
> The commons-sandbox, commons, and jakarta poms are (thanks, Dennis!)
> are now published to the m2 snapshot repository.  None of the parent
> POMs include the m2 snapshot repository in their repository list,
> however, so in order to get the sandbox components that depend on the
> hierarchy to build, you need to manually install the parent poms
> locally.  This is causing the nightly script to choke when I try to
> enable m2 builds.
>
> I suggest that we make the following changes:
>
> 1. Add this to the jakarta pom (which gives it some value, assuming
> this works ;-)
> <repositories>
>     <repository>
>       <id>apache-snapshots-m1</id>
>       <name>Apache Maven 1 Snapshots Repository</name>
>       <url>http://people.apache.org/repo/m1-snapshot-repository</url>
>       <layout>legacy</layout>
>     </repository>
>     <repository>
>       <id>apache-snapshots-m2</id>
>       <name>Apache Maven 2 Snapshots Repository</name>
>       <url>http://people.apache.org/repo/m2-snapshot-repository</url>
>     </repository>
>   </repositories>
>
> 2. Add this to the commons parent:
>
> <distributionManagement>
>     <snapshotRepository>
>       <uniqueVersion>true</uniqueVersion>
>       <id>apache.snapshots</id>
>        <name>Apache Development Snapshot Repository</name>
>
>     <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
>      </snapshotRepository>
> </distributionManagement>
>
> 3. Drop the repo stuff from commons-sandbox
>
> 4. Change the sandbox and proper poms to use the hierarchy above.
>
> I am assuming that once these changes are made, "mvn deploy" for a
> proper or sandbox component will deploy (assuming ssh is happy) to the
> m2 snaps repo.  I need this to work to enable nightlies for m2
> components.


>From a technology viewpoint, what you're describing sounds like the right
stuff, as long as you use "mvn -N deploy" on the parent POMs so they don't
also publish all the contained modules.

However, it's worth thinking for a minute about the fact that we're
introducing dependencies on those published POMs, so the POMs themselves
should be considered a releaseable artifact subject to a confirming vote.
The Shale and Struts projects do this on changes to the "master" poms, which
play pretty much the same role, and seems like a good idea.

When you take this approach, consider what happens when you've published
version "x" of the commons parent POM, and a new proper project gets added.
You'd want that new project added as a dependency in the version
"y-SNAPSHOT" version of the parent POM, but not mess up the people who are
building based on version "x".

Phil


Craig

Craig

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message