You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Wendy Smoak <ws...@gmail.com> on 2006/06/07 23:08:14 UTC

Re: svn commit: r412536 - in /myfaces/maven/branches/1_0_3: master-pom/pom.xml pom.xml

On 6/7/06, schof@apache.org <sc...@apache.org> wrote:
> Author: schof
> Date: Wed Jun  7 13:54:49 2006
> New Revision: 412536
>
> URL: http://svn.apache.org/viewvc?rev=412536&view=rev
> Log:
> changing distribution management so artifacts are published in myfaces repo (from there they can be signed and copied to apache repo for mirrroring)

Sean, have you actually done this with Maven 2?  Struts is in a
similar situation, we're deploying test builds to
maven-snapshot-repository.

After talking to Brett about how to 'promote' artifacts to the release
repo, I don't think copying them will work.  The Maven repo contains
metadata about what versions are available, and to get those xml files
updated, you have to deploy with Maven.

We need a plugin that retrieves an artifact from one repo and deploys
it to another.  For now I'm planning to use 'mvn deploy:deploy-file'
on individual artifacts to correctly add them to the release repo.

-- 
Wendy

Re: svn commit: r412536 - in /myfaces/maven/branches/1_0_3: master-pom/pom.xml pom.xml

Posted by Sean Schofield <se...@gmail.com>.
> Sean, have you actually done this with Maven 2?  Struts is in a
> similar situation, we're deploying test builds to
> maven-snapshot-repository.

Yes but just the deploying to myfaces repo part.[1]

> After talking to Brett about how to 'promote' artifacts to the release
> repo, I don't think copying them will work.  The Maven repo contains
> metadata about what versions are available, and to get those xml files
> updated, you have to deploy with Maven.

Here's what I did

1.) mvn release:prepare
-DtagBase=https://svn.apache.org/repos/asf/myfaces/[project_name]/tags
\
        -Dusername=[ASF username] \
        -Dscm.password=[ASF password] \
        -Dtag=[version]

This makes sure there are not SNAPSHOT artifacts anywhere except for
the module that is being released.  It also changes the SNAPSHOT
version of the module that is about to be released and checks it into
svn.  Finally, it tags the release in a location of your choosing.

2.) mvn deploy

The following in the master pom ensures that the artifacts are copied
*locally* (I run this from the zone machine which also hosts the
repo.)

  <distributionManagement>
    <repository>
      <id>myfaces repo</id>
      <name>MyFaces Maven Repository</name>
      <url>file:///var/apache2/htdocs/dist/maven-repository</url>
    </repository>

     ... snip ...

  </distributionManagement>

NOTE: I *never* do the release:perform.  Before we were releasing to
the ASF repo directly via the release:perform and the appropriate
<distributionManagement> entries.  But sometimes the scp would fail or
whatever.  Also, if there is a last minute fix you can't re-release.

mvn deploy seems to work just as well so I used that isntead.

> We need a plugin that retrieves an artifact from one repo and deploys
> it to another.  For now I'm planning to use 'mvn deploy:deploy-file'
> on individual artifacts to correctly add them to the release repo.

The meta data is being written to the myfaces repo but I haven't tried
copying everything to the ASF repo.  Its true the meta data is
probably inconsistent but that could be fixed by adding some of the
older versions back to the myfaces repo.

Ultimately we need a place to store these for testing/voting.  Also
one release may depend on another (say tomahawk which depends on
shared.)  I need to have final dependencies to shared in tomahawk but
the artifact isn't on ibiblio yet.

I'm definitely up for better ideas and a plugin that allows a
"re-deploy" sounds like a pretty good idea.

> Wendy

Sean

[1] http://myfaces.zones.apache.org/dist/maven-repository/