You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sebb <se...@gmail.com> on 2010/05/26 13:00:44 UTC

[ALL] Change deployment override in Commons Parent Pom

The Commons parent pom currently overrides the release deployment
descriptor in the Apache parent pom.

This was done for a very good reason - to prevent accidental
deployments to the live forge.

However, now that the Apache parent POM uses the Nexus staging
repository for snapshot and release deployments, IMO the Commons
Parent POM actually makes it less safe.

I think the overrides of the deployment descriptors should be removed
from the Commons Parent pom ASAP - or at least the override should
point to Nexus.

It would still be possible to use the live forge if really necessary -
by redefining the altDeploymentRepostory property. [Or one could add a
profile to define it].

Unfortunately the Commons "release" profile does more than just change
the deployment repository, so one has to use it to create valid
release artifacts.

Views?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [ALL] Change deployment override in Commons Parent Pom

Posted by Donald Woods <dw...@apache.org>.
The distributionManagement overrides should be removed once Nexus is
being use, as the apache-7.pom defines these.  You want to push
everything to Nexus (except maven sites), so SNAPSHOTs automatically
show up in the snapshot repo and any release artifacts will
automatically go into a staging repo, which you then have to close and
only promote after a vote passes.  The only thing I haven't had
experience with yet, is how to handle ci setups like Hudson, if you want
passing builds to publish snapshots...

As we found out in Geronimo, through our own snapshot publishing and
through depending on ActiveMQ snapshots, once you start using Nexus, you
cannot reliably use both Nexus and scp to p.a.o for artifacts in the
same groupId (sub-project), as the Nexus repo looks at both its snapshot
repo and the old p.a.o snapshots repo when trying to service requests
and gets totally confused (user builds will see failures to download
snapshot artifacts as the unique version on the pom and jars wouldn't
match.)

Also, I'd suggest removing any duplicate pluginManagement settings which
are provided by the parent pom, as that will reduce future maintenance
of your parent pom.


-Donald


On 5/26/10 7:00 AM, sebb wrote:
> The Commons parent pom currently overrides the release deployment
> descriptor in the Apache parent pom.
> 
> This was done for a very good reason - to prevent accidental
> deployments to the live forge.
> 
> However, now that the Apache parent POM uses the Nexus staging
> repository for snapshot and release deployments, IMO the Commons
> Parent POM actually makes it less safe.
> 
> I think the overrides of the deployment descriptors should be removed
> from the Commons Parent pom ASAP - or at least the override should
> point to Nexus.
> 
> It would still be possible to use the live forge if really necessary -
> by redefining the altDeploymentRepostory property. [Or one could add a
> profile to define it].
> 
> Unfortunately the Commons "release" profile does more than just change
> the deployment repository, so one has to use it to create valid
> release artifacts.
> 
> Views?
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [ALL] Change deployment override in Commons Parent Pom

Posted by sebb <se...@gmail.com>.
On 17/06/2010, Niall Pemberton <ni...@gmail.com> wrote:
> On Thu, Jun 17, 2010 at 3:27 PM, sebb <se...@gmail.com> wrote:
>  > On 17/06/2010, Niall Pemberton <ni...@gmail.com> wrote:
>  >> On Thu, Jun 17, 2010 at 3:01 PM, sebb <se...@gmail.com> wrote:
>  >>  > On 26/05/2010, sebb <se...@gmail.com> wrote:
>  >>  >> The Commons parent pom currently overrides the release deployment
>  >>  >>  descriptor in the Apache parent pom.
>  >>  >>
>  >>  >>  This was done for a very good reason - to prevent accidental
>  >>  >>  deployments to the live forge.
>  >>  >>
>  >>  >>  However, now that the Apache parent POM uses the Nexus staging
>  >>  >>  repository for snapshot and release deployments, IMO the Commons
>  >>  >>  Parent POM actually makes it less safe.
>  >>  >>
>  >>  >>  I think the overrides of the deployment descriptors should be removed
>  >>  >>  from the Commons Parent pom ASAP - or at least the override should
>  >>  >>  point to Nexus.
>  >>  >>
>  >>  >>  It would still be possible to use the live forge if really necessary -
>  >>  >>  by redefining the altDeploymentRepostory property. [Or one could add a
>  >>  >>  profile to define it].
>  >>  >>
>  >>  >>  Unfortunately the Commons "release" profile does more than just change
>  >>  >>  the deployment repository, so one has to use it to create valid
>  >>  >>  release artifacts.
>  >>  >>
>  >>  >>  Views?
>  >>  >>
>  >>  >
>  >>  > Any objections if I start the process of creating the next version of
>  >>  > the parent pom?
>  >>  > [i.e. start updating the snapshot pom]
>  >>
>  >>
>  >> +1 - go for it. The first step is to get a release of the pom out.
>  >
>  > Will do.
>  >
>  > I think the "ci" profile can be dropped.
>  >
>  > It looks like the "rc" and "release" profiles can be merged too -
>  > apart from this section in the "rc" profile, whose purpose escapes me:
>  >
>  >          <plugin>
>  >            <artifactId>maven-assembly-plugin</artifactId>
>  >            <executions>
>  >              <execution>
>  >                <goals>
>  >                  <goal>attached</goal>
>  >                </goals>
>  >                <phase>package</phase>
>  >              </execution>
>  >            </executions>
>  >          </plugin>
>  >
>  > Any idea why that is only needed for the "rc" profile? (if that is indeed true)
>
>
> Its there so the source and binary distros get created when the
>  "package" phase executes.
>
>  If you do "mvn package" on a component you just get the jar
>  if you do "mvn -Prc package" you get the jars and the source/binary
>  distros as well
>
>  not sure why its not in the "release" profile - but then most releases
>  are done using the "rc" profile.

OK.

If this is added to the release profile then "rc" and "release" will
become almost the same once the distManage sections are removed. The
only difference is the parameter passed to the maven-release-plugin.

So do we then still need both profiles?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [ALL] Change deployment override in Commons Parent Pom

Posted by Niall Pemberton <ni...@gmail.com>.
On Thu, Jun 17, 2010 at 3:27 PM, sebb <se...@gmail.com> wrote:
> On 17/06/2010, Niall Pemberton <ni...@gmail.com> wrote:
>> On Thu, Jun 17, 2010 at 3:01 PM, sebb <se...@gmail.com> wrote:
>>  > On 26/05/2010, sebb <se...@gmail.com> wrote:
>>  >> The Commons parent pom currently overrides the release deployment
>>  >>  descriptor in the Apache parent pom.
>>  >>
>>  >>  This was done for a very good reason - to prevent accidental
>>  >>  deployments to the live forge.
>>  >>
>>  >>  However, now that the Apache parent POM uses the Nexus staging
>>  >>  repository for snapshot and release deployments, IMO the Commons
>>  >>  Parent POM actually makes it less safe.
>>  >>
>>  >>  I think the overrides of the deployment descriptors should be removed
>>  >>  from the Commons Parent pom ASAP - or at least the override should
>>  >>  point to Nexus.
>>  >>
>>  >>  It would still be possible to use the live forge if really necessary -
>>  >>  by redefining the altDeploymentRepostory property. [Or one could add a
>>  >>  profile to define it].
>>  >>
>>  >>  Unfortunately the Commons "release" profile does more than just change
>>  >>  the deployment repository, so one has to use it to create valid
>>  >>  release artifacts.
>>  >>
>>  >>  Views?
>>  >>
>>  >
>>  > Any objections if I start the process of creating the next version of
>>  > the parent pom?
>>  > [i.e. start updating the snapshot pom]
>>
>>
>> +1 - go for it. The first step is to get a release of the pom out.
>
> Will do.
>
> I think the "ci" profile can be dropped.
>
> It looks like the "rc" and "release" profiles can be merged too -
> apart from this section in the "rc" profile, whose purpose escapes me:
>
>          <plugin>
>            <artifactId>maven-assembly-plugin</artifactId>
>            <executions>
>              <execution>
>                <goals>
>                  <goal>attached</goal>
>                </goals>
>                <phase>package</phase>
>              </execution>
>            </executions>
>          </plugin>
>
> Any idea why that is only needed for the "rc" profile? (if that is indeed true)

Its there so the source and binary distros get created when the
"package" phase executes.

If you do "mvn package" on a component you just get the jar
if you do "mvn -Prc package" you get the jars and the source/binary
distros as well

not sure why its not in the "release" profile - but then most releases
are done using the "rc" profile.

Niall

>>  It might be a good idea to try it out (once the parent pom is released)
>>  on one component that is going to use Nexus for the release before
>>  switching all components to that version of the parent pom.
>
> That was my plan - perhaps Compress or CLI will lead the way here.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [ALL] Change deployment override in Commons Parent Pom

Posted by sebb <se...@gmail.com>.
On 17/06/2010, Niall Pemberton <ni...@gmail.com> wrote:
> On Thu, Jun 17, 2010 at 3:01 PM, sebb <se...@gmail.com> wrote:
>  > On 26/05/2010, sebb <se...@gmail.com> wrote:
>  >> The Commons parent pom currently overrides the release deployment
>  >>  descriptor in the Apache parent pom.
>  >>
>  >>  This was done for a very good reason - to prevent accidental
>  >>  deployments to the live forge.
>  >>
>  >>  However, now that the Apache parent POM uses the Nexus staging
>  >>  repository for snapshot and release deployments, IMO the Commons
>  >>  Parent POM actually makes it less safe.
>  >>
>  >>  I think the overrides of the deployment descriptors should be removed
>  >>  from the Commons Parent pom ASAP - or at least the override should
>  >>  point to Nexus.
>  >>
>  >>  It would still be possible to use the live forge if really necessary -
>  >>  by redefining the altDeploymentRepostory property. [Or one could add a
>  >>  profile to define it].
>  >>
>  >>  Unfortunately the Commons "release" profile does more than just change
>  >>  the deployment repository, so one has to use it to create valid
>  >>  release artifacts.
>  >>
>  >>  Views?
>  >>
>  >
>  > Any objections if I start the process of creating the next version of
>  > the parent pom?
>  > [i.e. start updating the snapshot pom]
>
>
> +1 - go for it. The first step is to get a release of the pom out.

Will do.

I think the "ci" profile can be dropped.

It looks like the "rc" and "release" profiles can be merged too -
apart from this section in the "rc" profile, whose purpose escapes me:

          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>attached</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>

Any idea why that is only needed for the "rc" profile? (if that is indeed true)

>  It might be a good idea to try it out (once the parent pom is released)
>  on one component that is going to use Nexus for the release before
>  switching all components to that version of the parent pom.

That was my plan - perhaps Compress or CLI will lead the way here.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [ALL] Change deployment override in Commons Parent Pom

Posted by Niall Pemberton <ni...@gmail.com>.
On Thu, Jun 17, 2010 at 3:01 PM, sebb <se...@gmail.com> wrote:
> On 26/05/2010, sebb <se...@gmail.com> wrote:
>> The Commons parent pom currently overrides the release deployment
>>  descriptor in the Apache parent pom.
>>
>>  This was done for a very good reason - to prevent accidental
>>  deployments to the live forge.
>>
>>  However, now that the Apache parent POM uses the Nexus staging
>>  repository for snapshot and release deployments, IMO the Commons
>>  Parent POM actually makes it less safe.
>>
>>  I think the overrides of the deployment descriptors should be removed
>>  from the Commons Parent pom ASAP - or at least the override should
>>  point to Nexus.
>>
>>  It would still be possible to use the live forge if really necessary -
>>  by redefining the altDeploymentRepostory property. [Or one could add a
>>  profile to define it].
>>
>>  Unfortunately the Commons "release" profile does more than just change
>>  the deployment repository, so one has to use it to create valid
>>  release artifacts.
>>
>>  Views?
>>
>
> Any objections if I start the process of creating the next version of
> the parent pom?
> [i.e. start updating the snapshot pom]

+1 - go for it. The first step is to get a release of the pom out. It
might be a good idea to try it out (once the parent pom is released)
on one component that is going to use Nexus for the release before
switching all components to that version of the parent pom.

Niall

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [ALL] Change deployment override in Commons Parent Pom

Posted by sebb <se...@gmail.com>.
On 26/05/2010, sebb <se...@gmail.com> wrote:
> The Commons parent pom currently overrides the release deployment
>  descriptor in the Apache parent pom.
>
>  This was done for a very good reason - to prevent accidental
>  deployments to the live forge.
>
>  However, now that the Apache parent POM uses the Nexus staging
>  repository for snapshot and release deployments, IMO the Commons
>  Parent POM actually makes it less safe.
>
>  I think the overrides of the deployment descriptors should be removed
>  from the Commons Parent pom ASAP - or at least the override should
>  point to Nexus.
>
>  It would still be possible to use the live forge if really necessary -
>  by redefining the altDeploymentRepostory property. [Or one could add a
>  profile to define it].
>
>  Unfortunately the Commons "release" profile does more than just change
>  the deployment repository, so one has to use it to create valid
>  release artifacts.
>
>  Views?
>

Any objections if I start the process of creating the next version of
the parent pom?
[i.e. start updating the snapshot pom]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org