[all] parent pom repositories

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[all] parent pom repositories

Torsten Curdt
As we talked about on how to do release on at commons I am wondering  
if these profiles really make sense:

       <id>release</id>
       <distributionManagement>
         <repository>
           <id>apache.releases</id>
           <name>Apache Release Distribution Repository</name>
           <url>${commons.deployment.protocol}://people.apache.org/
www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
         </repository>
       </distributionManagement>

       <id>rc</id>
       <distributionManagement>
         <repository>
           <id>apache.snapshots</id>
           <name>Apache Development Snapshot Repository</name>
           <url>${commons.deployment.protocol}://people.apache.org/
www/people.apache.org/repo/m2-snapshot-repository</url>
         </repository>
         <snapshotRepository>
           <id>apache.snapshots</id>
           <name>Apache Development Snapshot Repository</name>
           <url>${commons.deployment.protocol}://people.apache.org/
www/people.apache.org/repo/m2-snapshot-repository</url>
         </snapshotRepository>
       </distributionManagement>

I think we agreed that the RCs should have the final version numbers  
in the POM. And that actually doing a release should rather be moving  
the artifacts from one directory to the other than re-building them  
and have maven publish them on the rsync repository. So I am  
wondering whether something like this would make more sense in the  
parent POM:

          <id>rc</id>
          <repositories>
             <repository>
                <id>rc</id>
                <url>http://people.apache.org/builds/commons</url>
                <snapshots><enabled>false</enabled></snapshots>
                <releases><enabled>true</enabled></releases>
             </repository>
          </repositories>

So we would basically always do a

  export PASSPHRASE=secret
  mvn release:prepare -Prc
  mvn release:perform -Prc -Dgpg.passphrase=$PASSPHRASE -Darguments="-
Prc -Dgpg.passphrase=$PASSPHRASE"

then do the vote and when it comes through just move the atifacts on  
the disk. (Actually we could have a plugin do that for us as well)

Question is what do we do about the conventional artifacts (build  
from the assembly plugin). Doing the signing etc by hand is  
cumbersome if the above already does everything via maven. We need  
less work - not more.

WDYT?

cheers
--
Torsten


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Henri Yandell
On 5/16/07, Torsten Curdt <[hidden email]> wrote:

> So we would basically always do a
>
>   export PASSPHRASE=secret
>   mvn release:prepare -Prc
>   mvn release:perform -Prc -Dgpg.passphrase=$PASSPHRASE -Darguments="-
> Prc -Dgpg.passphrase=$PASSPHRASE"

Random thought....

ACK! I'm not putting my passphrase in my bash history :)

Hen

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Torsten Curdt

On 17.05.2007, at 01:52, Henri Yandell wrote:

> On 5/16/07, Torsten Curdt <[hidden email]> wrote:
>
>> So we would basically always do a
>>
>>   export PASSPHRASE=secret
>>   mvn release:prepare -Prc
>>   mvn release:perform -Prc -Dgpg.passphrase=$PASSPHRASE -
>> Darguments="-
>> Prc -Dgpg.passphrase=$PASSPHRASE"
>
> Random thought....
>
> ACK! I'm not putting my passphrase in my bash history :)

Well ...then you have to write it clear text into the  
settings.xml ...not sure what is better.

  http://gentoo-wiki.com/SECURITY_Bash_History_Functions

You could have that file on a crypted partition though ...or you fix  
the plugin to ask for the passphrase :-D

...but what about the general question?

cheers
--
Torsten

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Wendy Smoak
In reply to this post by Torsten Curdt
On 5/16/07, Torsten Curdt <[hidden email]> wrote:

> As we talked about on how to do release on at commons I am wondering
> if these profiles really make sense:
...
>        <id>rc</id>
>        <distributionManagement>
>          <repository>
>            <id>apache.snapshots</id>
>            <name>Apache Development Snapshot Repository</name>
>            <url>${commons.deployment.protocol}://people.apache.org/
> www/people.apache.org/repo/m2-snapshot-repository</url>

Briefly, in no particular order...

Stage each release in a separate repository, such as
people.a.o/builds/commons/[project name]/${version}/m2-staging-repository

There is a utility for promoting staged releases to the rsynced repo.
(Actually for merging one repository into another, including the
metadata.)

The latest release of the gpg plugin will prompt for a passphrase if
one is not supplied.

Signing the release distributions... The gpg plugin will sign them if
you deploy them to the repository (attached assemblies).  There's a
bit of renaming and copying to do that I haven't figured out how to
automate yet.  Then you have to decide if you want the distributions
in the Maven repo.

--
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Antonio Petrelli
2007/5/17, Wendy Smoak <[hidden email]>:
>
> There is a utility for promoting staged releases to the rsynced repo.
> (Actually for merging one repository into another, including the
> metadata.)



What utility? Maybe I missed something that could be useful.

Thanks
Antonio
Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Wendy Smoak
On 5/17/07, Antonio Petrelli <[hidden email]> wrote:
> 2007/5/17, Wendy Smoak <[hidden email]>:
> >
> > There is a utility for promoting staged releases to the rsynced repo.
> > (Actually for merging one repository into another, including the
> > metadata.)
>
> What utility? Maybe I missed something that could be useful.

http://www.nabble.com/Note-on-copying-staged-repositories-t3627047s177.html

I haven't tried it.  I'd practice somewhere other than the rsycned
repo to make sure it does what you want and check on maven-dev or
#maven irc for any known issues before using.

--
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Torsten Curdt
In reply to this post by Wendy Smoak

On 17.05.2007, at 17:36, Wendy Smoak wrote:

> On 5/16/07, Torsten Curdt <[hidden email]> wrote:
>
>> As we talked about on how to do release on at commons I am wondering
>> if these profiles really make sense:
> ...
>>        <id>rc</id>
>>        <distributionManagement>
>>          <repository>
>>            <id>apache.snapshots</id>
>>            <name>Apache Development Snapshot Repository</name>
>>            <url>${commons.deployment.protocol}://people.apache.org/
>> www/people.apache.org/repo/m2-snapshot-repository</url>
>
> Briefly, in no particular order...
>
> Stage each release in a separate repository, such as
> people.a.o/builds/commons/[project name]/${version}/m2-staging-
> repository

So it should be

          <id>rc</id>
          <repositories>
             <repository>
                <id>rc</id>
                <url>http://people.apache.org/builds/commons/$ 
{project.name}/${project.version}/m2-staging-repository</url>
                <snapshots><enabled>false</enabled></snapshots>
                <releases><enabled>true</enabled></releases>
             </repository>
          </repositories>


> There is a utility for promoting staged releases to the rsynced repo.
> (Actually for merging one repository into another, including the
> metadata.)

Cool. So the process should become

  mvn release:prepare -Prc
  mvn release:perform -Prc -Darguments="-Prc"

  [vote]

  mvn stage:copy \
        -Dsource="http://people.apache.org/builds/commons/$ 
{project.name}/${project.version}/m2-staging-repositoryg" \
        -Dtarget="scp://people.apache.org/www/people.apache.org/repo/
m2-ibiblio-rsync-repository" \
        -Dversion=${project.version}

  Any chance to have the project name and version injected  
automatically there?


> The latest release of the gpg plugin will prompt for a passphrase if
> one is not supplied.

Great ...last time I tried it did not work for me (although it was  
supposed to according to the docs)

> Signing the release distributions... The gpg plugin will sign them if
> you deploy them to the repository (attached assemblies).  There's a
> bit of renaming and copying to do that I haven't figured out how to
> automate yet.

WDYM? ...seems like the signing worked just fine for the jci RC1.

>   Then you have to decide if you want the distributions
> in the Maven repo.

WDYM? The usual artifacts? Sure!

Not so sure what to do with the bin/src dists from the assembly though.

cheers
--
Torsten



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Antonio Petrelli
In reply to this post by Wendy Smoak
2007/5/17, Wendy Smoak <[hidden email]>:

> On 5/17/07, Antonio Petrelli <[hidden email]> wrote:
> > 2007/5/17, Wendy Smoak <[hidden email]>:
> > >
> > > There is a utility for promoting staged releases to the rsynced repo.
> > > (Actually for merging one repository into another, including the
> > > metadata.)
> >
> > What utility? Maybe I missed something that could be useful.
>
> http://www.nabble.com/Note-on-copying-staged-repositories-t3627047s177.html
>
> I haven't tried it.  I'd practice somewhere other than the rsycned
> repo to make sure it does what you want and check on maven-dev or
> #maven irc for any known issues before using.

Thank you!
I will practice it too for Tiles, when its time will come.

Antonio

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Wendy Smoak
In reply to this post by Torsten Curdt
On 5/17/07, Torsten Curdt <[hidden email]> wrote:

> So it should be
>
>           <id>rc</id>
>           <repositories>
>              <repository>
>                 <id>rc</id>
>                 <url>http://people.apache.org/builds/commons/$
> {project.name}/${project.version}/m2-staging-repository</url>
>                 <snapshots><enabled>false</enabled></snapshots>
>                 <releases><enabled>true</enabled></releases>
>              </repository>
>           </repositories>

${project.name} is likely to be something like "Commons Math" not the
"commons-math" that would be more appropriate in a directory name.  If
you can't find something suitable in the pom, you may want to
introduce an arbitrary property in each project's pom and use that in
the url.  (I think $artifactId would only work for single-module
projects.)

>   mvn stage:copy \
>         -Dsource="http://people.apache.org/builds/commons/$
> {project.name}/${project.version}/m2-staging-repositoryg" \
>         -Dtarget="scp://people.apache.org/www/people.apache.org/repo/
> m2-ibiblio-rsync-repository" \
>         -Dversion=${project.version}
>
>   Any chance to have the project name and version injected
> automatically there?

Not afaik.  You should know what you're promoting. :)

> > The latest release of the gpg plugin will prompt for a passphrase if
> > one is not supplied.
>
> Great ...last time I tried it did not work for me (although it was
> supposed to according to the docs)

Specify a version in the pom to make sure you're really using the
latest.  Open a bug if it's not working... I gave up and just put the
passphrase in settings.xml.  (You may not like being prompted-- I have
a feeling it's going to prompt more than once!)

> > Signing the release distributions... The gpg plugin will sign them if
> > you deploy them to the repository (attached assemblies).  There's a
> > bit of renaming and copying to do that I haven't figured out how to
> > automate yet.
>
> WDYM? ...seems like the signing worked just fine for the jci RC1.
>
> >   Then you have to decide if you want the distributions
> > in the Maven repo.
>
> WDYM? The usual artifacts? Sure!

No, the .zip and .tar.gz release distributions, the assemblies.

> Not so sure what to do with the bin/src dists from the assembly though.

Right. :)

Take a look at the last section of my Archiva release page, under
'Release Distribution':

   http://wiki.wsmoak.net/cgi-bin/wiki.pl?Archiva09Alpha2Release

The assemblies get deployed under their artifactIds, not the "final
name" that we want for the public distribution.  Plus Maven's checksum
files aren't formatted correctly for md5sum -c.

--
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [all] parent pom repositories

Niall Pemberton
On 5/17/07, Wendy Smoak <[hidden email]> wrote:

> On 5/17/07, Torsten Curdt <[hidden email]> wrote:
> > So it should be
> >
> >           <id>rc</id>
> >           <repositories>
> >              <repository>
> >                 <id>rc</id>
> >                 <url>http://people.apache.org/builds/commons/$
> > {project.name}/${project.version}/m2-staging-repository</url>
> >                 <snapshots><enabled>false</enabled></snapshots>
> >                 <releases><enabled>true</enabled></releases>
> >              </repository>
> >           </repositories>
>
> ${project.name} is likely to be something like "Commons Math" not the
> "commons-math" that would be more appropriate in a directory name.  If
> you can't find something suitable in the pom, you may want to
> introduce an arbitrary property in each project's pom and use that in
> the url.  (I think $artifactId would only work for single-module
> projects.)

How about using a property which defaults to $artifactId in the parent
pom - then only the multi-modules components need override it in their
main pom?

Niall

> >   mvn stage:copy \
> >         -Dsource="http://people.apache.org/builds/commons/$
> > {project.name}/${project.version}/m2-staging-repositoryg" \
> >         -Dtarget="scp://people.apache.org/www/people.apache.org/repo/
> > m2-ibiblio-rsync-repository" \
> >         -Dversion=${project.version}
> >
> >   Any chance to have the project name and version injected
> > automatically there?
>
> Not afaik.  You should know what you're promoting. :)
>
> > > The latest release of the gpg plugin will prompt for a passphrase if
> > > one is not supplied.
> >
> > Great ...last time I tried it did not work for me (although it was
> > supposed to according to the docs)
>
> Specify a version in the pom to make sure you're really using the
> latest.  Open a bug if it's not working... I gave up and just put the
> passphrase in settings.xml.  (You may not like being prompted-- I have
> a feeling it's going to prompt more than once!)
>
> > > Signing the release distributions... The gpg plugin will sign them if
> > > you deploy them to the repository (attached assemblies).  There's a
> > > bit of renaming and copying to do that I haven't figured out how to
> > > automate yet.
> >
> > WDYM? ...seems like the signing worked just fine for the jci RC1.
> >
> > >   Then you have to decide if you want the distributions
> > > in the Maven repo.
> >
> > WDYM? The usual artifacts? Sure!
>
> No, the .zip and .tar.gz release distributions, the assemblies.
>
> > Not so sure what to do with the bin/src dists from the assembly though.
>
> Right. :)
>
> Take a look at the last section of my Archiva release page, under
> 'Release Distribution':
>
>    http://wiki.wsmoak.net/cgi-bin/wiki.pl?Archiva09Alpha2Release
>
> The assemblies get deployed under their artifactIds, not the "final
> name" that we want for the public distribution.  Plus Maven's checksum
> files aren't formatted correctly for md5sum -c.
>
> --
> Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]