You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rave.apache.org by "Franklin, Matthew B." <mf...@mitre.org> on 2011/06/17 15:19:37 UTC

Release

I have committed a release guide based mostly on the example provided by
Ate.  I still have a few outstanding questions that I need mentors and
people with more maven experience to point me in the right direction for:

1) Do we need a release process for the master or can we depend on the
master SNAPSHOT?
2) I was assuming I could just run mvn -P dist release:prepare from trunk
and everything would get built and signed appropriately.  When I do that,
I get 
    
    gpg: can't open
`/private/tmp/rave/target/rave-project-0.1-incubating-SNAPSHOT-source-relea
se.zip': No such file or directory

   The file does not exist when built with the dist profile, but does
exist when built without it.  I am assuming there is some interaction
between that profile and the order the release plugin normally does
things.  Any pointers would be helpful.

3) Do I need infra to grant me karma on the nexus server to do deployments?


There will probably be more questions, but I am trying to get all of these
things resolved so that we can push forward with the release.

-Matt


Re: Release

Posted by Ate Douma <at...@douma.nu>.
On 06/20/2011 02:57 PM, Franklin, Matthew B. wrote:
> On 6/20/11 8:28 AM, "Ate Douma"<at...@douma.nu>  wrote:
>
>> On 06/20/2011 02:21 PM, Jasha Joachimsthal wrote:
>>> Did you add svn credentials in the release command (in case you haven't
>>> stored them for svn.apache.org).
>>
>> This is not a svn credentials issue but a nexus/repository one.
>>
>> Matt, did you check and follow the required configuration in your
>> ~/.m2/settings.xml as described here:
>> http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env
>
> I didn't initially. (have since added the above link to the release
> manager guide).  However, I still get the same error when trying with the
> updated settings.  Are the server ids listed there (apache.release.https,
> etc) correct?

I just checked against my own ~/.m2/settings.xml and I have my configuration 
with the same server ids.
If you have your Apache LDAP username/password configured correctly something 
else must be wrong here, or you'll need more/additional authorization after all 
for Nexus / repository.apache.org

In the latter case, I think best is to create an INFRA issue (Component Nexus) 
for it. I just found a similar one like this:

   https://issues.apache.org/jira/browse/INFRA-2939

My suspicion is that I might be able to deploy to Nexus because I'm on the 
Incubator PMC list (different group) while you are not.
Furthermore, for incubator project (only) committers it seems they have to 
manually "tweak" the Nexus derived privileges, e.g. cannot automatically derive 
everything from LDAP alone.

Ate

>
>>
>>
>>
>>>
>>> Jasha Joachimsthal
>>>
>>> Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 4466
>>> US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll
>>> free)
>>>
>>> www.onehippo.com
>>>
>>>
>>> On 20 June 2011 14:06, Franklin, Matthew B.<mf...@mitre.org>   wrote:
>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> 3) Do I need infra to grant me karma on the nexus server to do
>>>>>> deployments?
>>>>> AFAIK you don't need anymore than you already have, e.g. you can
>>>>> login to
>>>>> Nexus,
>>>>> right?
>>>>> If not sure, you could test drive by doing a trivial change on the
>>>>> rave-master-pom and then a mvn deploy, which will push it through
>>>>> Nexus
>>>>> snapshot
>>>>> repository. If you can do that, you have all the permissions needed
>>>>> for
>>>>> the
>>>>> release as well.
>>>>
>>>> I am getting a 401...
>>>>
>>>> [ERROR] Failed to execute goal
>>>> org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy
>>>> (default-deploy)
>>>> on project rave-master: Failed to deploy artifacts: Could not transfer
>>>> artifact
>>>> org.apache.rave:rave-master:pom:0.1-incubating-20110620.120444-3
>>>> from/to apache.snapshots.https
>>>> (https://repository.apache.org/content/repositories/snapshots): Failed
>>>> to
>>>> transfer file:
>>>>
>>>> https://repository.apache.org/content/repositories/snapshots/org/apache/
>>>> rav
>>>>
>>>> e/rave-master/0.1-incubating-SNAPSHOT/rave-master-0.1-incubating-2011062
>>>> 0.1
>>>> 20444-3.pom. Return code is: 401
>>>>
>>>> Any ideas?
>>>>>
>>>>
>>>>
>>>
>>
>


Re: Release

Posted by "Franklin, Matthew B." <mf...@mitre.org>.
On 6/20/11 8:28 AM, "Ate Douma" <at...@douma.nu> wrote:

>On 06/20/2011 02:21 PM, Jasha Joachimsthal wrote:
>> Did you add svn credentials in the release command (in case you haven't
>> stored them for svn.apache.org).
>
>This is not a svn credentials issue but a nexus/repository one.
>
>Matt, did you check and follow the required configuration in your
>~/.m2/settings.xml as described here:
>http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env

I didn't initially. (have since added the above link to the release
manager guide).  However, I still get the same error when trying with the
updated settings.  Are the server ids listed there (apache.release.https,
etc) correct?

>
>
>
>>
>> Jasha Joachimsthal
>>
>> Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 4466
>> US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll
>>free)
>>
>> www.onehippo.com
>>
>>
>> On 20 June 2011 14:06, Franklin, Matthew B.<mf...@mitre.org>  wrote:
>>
>>>>
>>>>
>>>>
>>>>>
>>>>> 3) Do I need infra to grant me karma on the nexus server to do
>>>>> deployments?
>>>> AFAIK you don't need anymore than you already have, e.g. you can
>>>>login to
>>>> Nexus,
>>>> right?
>>>> If not sure, you could test drive by doing a trivial change on the
>>>> rave-master-pom and then a mvn deploy, which will push it through
>>>>Nexus
>>>> snapshot
>>>> repository. If you can do that, you have all the permissions needed
>>>>for
>>>> the
>>>> release as well.
>>>
>>> I am getting a 401...
>>>
>>> [ERROR] Failed to execute goal
>>> org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy
>>>(default-deploy)
>>> on project rave-master: Failed to deploy artifacts: Could not transfer
>>> artifact 
>>>org.apache.rave:rave-master:pom:0.1-incubating-20110620.120444-3
>>> from/to apache.snapshots.https
>>> (https://repository.apache.org/content/repositories/snapshots): Failed
>>>to
>>> transfer file:
>>> 
>>>https://repository.apache.org/content/repositories/snapshots/org/apache/
>>>rav
>>> 
>>>e/rave-master/0.1-incubating-SNAPSHOT/rave-master-0.1-incubating-2011062
>>>0.1
>>> 20444-3.pom. Return code is: 401
>>>
>>> Any ideas?
>>>>
>>>
>>>
>>
>


Re: Release

Posted by Ate Douma <at...@douma.nu>.
On 06/20/2011 02:21 PM, Jasha Joachimsthal wrote:
> Did you add svn credentials in the release command (in case you haven't
> stored them for svn.apache.org).

This is not a svn credentials issue but a nexus/repository one.

Matt, did you check and follow the required configuration in your 
~/.m2/settings.xml as described here: 
http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env



>
> Jasha Joachimsthal
>
> Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 4466
> US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll free)
>
> www.onehippo.com
>
>
> On 20 June 2011 14:06, Franklin, Matthew B.<mf...@mitre.org>  wrote:
>
>>>
>>>
>>>
>>>>
>>>> 3) Do I need infra to grant me karma on the nexus server to do
>>>> deployments?
>>> AFAIK you don't need anymore than you already have, e.g. you can login to
>>> Nexus,
>>> right?
>>> If not sure, you could test drive by doing a trivial change on the
>>> rave-master-pom and then a mvn deploy, which will push it through Nexus
>>> snapshot
>>> repository. If you can do that, you have all the permissions needed for
>>> the
>>> release as well.
>>
>> I am getting a 401...
>>
>> [ERROR] Failed to execute goal
>> org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy)
>> on project rave-master: Failed to deploy artifacts: Could not transfer
>> artifact org.apache.rave:rave-master:pom:0.1-incubating-20110620.120444-3
>> from/to apache.snapshots.https
>> (https://repository.apache.org/content/repositories/snapshots): Failed to
>> transfer file:
>> https://repository.apache.org/content/repositories/snapshots/org/apache/rav
>> e/rave-master/0.1-incubating-SNAPSHOT/rave-master-0.1-incubating-20110620.1
>> 20444-3.pom. Return code is: 401
>>
>> Any ideas?
>>>
>>
>>
>


Re: Release

Posted by Jasha Joachimsthal <j....@onehippo.com>.
Did you add svn credentials in the release command (in case you haven't
stored them for svn.apache.org).

Jasha Joachimsthal

Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 4466
US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll free)

www.onehippo.com


On 20 June 2011 14:06, Franklin, Matthew B. <mf...@mitre.org> wrote:

> >
> >
> >
> >>
> >> 3) Do I need infra to grant me karma on the nexus server to do
> >>deployments?
> >AFAIK you don't need anymore than you already have, e.g. you can login to
> >Nexus,
> >right?
> >If not sure, you could test drive by doing a trivial change on the
> >rave-master-pom and then a mvn deploy, which will push it through Nexus
> >snapshot
> >repository. If you can do that, you have all the permissions needed for
> >the
> >release as well.
>
> I am getting a 401...
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy)
> on project rave-master: Failed to deploy artifacts: Could not transfer
> artifact org.apache.rave:rave-master:pom:0.1-incubating-20110620.120444-3
> from/to apache.snapshots.https
> (https://repository.apache.org/content/repositories/snapshots): Failed to
> transfer file:
> https://repository.apache.org/content/repositories/snapshots/org/apache/rav
> e/rave-master/0.1-incubating-SNAPSHOT/rave-master-0.1-incubating-20110620.1
> 20444-3.pom. Return code is: 401
>
> Any ideas?
> >
>
>

Re: Release

Posted by "Franklin, Matthew B." <mf...@mitre.org>.
On 6/17/11 12:40 PM, "Ate Douma" <at...@douma.nu> wrote:

>On 06/17/2011 03:19 PM, Franklin, Matthew B. wrote:
>> I have committed a release guide based mostly on the example provided by
>> Ate.  I still have a few outstanding questions that I need mentors and
>> people with more maven experience to point me in the right direction
>>for:
>>
>> 1) Do we need a release process for the master or can we depend on the
>> master SNAPSHOT?
>A release cannot/may not depend on SNAPSHOT dependencies as that would
>make it 
>(potentially) unreliable. A future change of such a SNAPSHOT could easily
>break 
>the behavior or even the build of the release, which is a very bad
>pattern.
>Note that this isn't so much a "requirement" from ASF pov, but a general
>one.
>Furthermore, a 0.1-SNAPSHOT dependency can/may "disappear" anytime too
>(like 
>when its "released" itself).
>
>So, yes: we need to release the master first, then update the project
>dependency 
>on it, and finally release the project itself.
>Note: with the Nexus staging repository both can go into the same staging
>repository making it a single and "joined" release effort for voting upon
>and 
>releasing (or dropping) thereafter.

OK.  I will add procedures to the release process for the master.

>
>> 2) I was assuming I could just run mvn -P dist release:prepare from
>>trunk
>> and everything would get built and signed appropriately.  When I do
>>that,
>> I get
>>
>>      gpg: can't open
>> 
>>`/private/tmp/rave/target/rave-project-0.1-incubating-SNAPSHOT-source-rel
>>ea
>> se.zip': No such file or directory
>>
>>     The file does not exist when built with the dist profile, but does
>> exist when built without it.  I am assuming there is some interaction
>> between that profile and the order the release plugin normally does
>> things.  Any pointers would be helpful.
>
>It wasn't my intention or expectation to use the dist profile for/during
>the 
>release. The produced binary artifacts (.tar.gz and .zip) don't need to
>go into 
>the maven repository, nor is there much sense in doing so.
>My intent is to first do the normal release process (so without -P dist),
>and 
>after the release step build the binary dist archives separately.
>Those then can (and must be) copied over to some temporary public
>location for 
>others to validate and vote upon. That vote can be a combined vote upon
>the 
>rave-master-pom, rave-project and the binary dist archives together.

Sounds good.  Thanks for clarifying

>
>With regard to it "not working": this is because Maven profiles only get
>activated one at a time, unless you explicitly enable them manually.
>So by enabling the dist profile you effectively disabled the apache
>release 
>profile which you need to do the release.

OK.  I will fix the release guide.

>
>>
>> 3) Do I need infra to grant me karma on the nexus server to do
>>deployments?
>AFAIK you don't need anymore than you already have, e.g. you can login to
>Nexus, 
>right?
>If not sure, you could test drive by doing a trivial change on the
>rave-master-pom and then a mvn deploy, which will push it through Nexus
>snapshot 
>repository. If you can do that, you have all the permissions needed for
>the 
>release as well.

I will give it a shot and let you know.

>
>>
>>
>> There will probably be more questions, but I am trying to get all of
>>these
>> things resolved so that we can push forward with the release.
>>
>> -Matt
>>
>


Re: Release

Posted by "Franklin, Matthew B." <mf...@mitre.org>.
>
>
>
>>
>> 3) Do I need infra to grant me karma on the nexus server to do
>>deployments?
>AFAIK you don't need anymore than you already have, e.g. you can login to
>Nexus, 
>right?
>If not sure, you could test drive by doing a trivial change on the
>rave-master-pom and then a mvn deploy, which will push it through Nexus
>snapshot 
>repository. If you can do that, you have all the permissions needed for
>the 
>release as well.

I am getting a 401...

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy)
on project rave-master: Failed to deploy artifacts: Could not transfer
artifact org.apache.rave:rave-master:pom:0.1-incubating-20110620.120444-3
from/to apache.snapshots.https
(https://repository.apache.org/content/repositories/snapshots): Failed to
transfer file: 
https://repository.apache.org/content/repositories/snapshots/org/apache/rav
e/rave-master/0.1-incubating-SNAPSHOT/rave-master-0.1-incubating-20110620.1
20444-3.pom. Return code is: 401

Any ideas?
>


Re: Release

Posted by Ate Douma <at...@douma.nu>.
On 06/17/2011 03:19 PM, Franklin, Matthew B. wrote:
> I have committed a release guide based mostly on the example provided by
> Ate.  I still have a few outstanding questions that I need mentors and
> people with more maven experience to point me in the right direction for:
>
> 1) Do we need a release process for the master or can we depend on the
> master SNAPSHOT?
A release cannot/may not depend on SNAPSHOT dependencies as that would make it 
(potentially) unreliable. A future change of such a SNAPSHOT could easily break 
the behavior or even the build of the release, which is a very bad pattern.
Note that this isn't so much a "requirement" from ASF pov, but a general one.
Furthermore, a 0.1-SNAPSHOT dependency can/may "disappear" anytime too (like 
when its "released" itself).

So, yes: we need to release the master first, then update the project dependency 
on it, and finally release the project itself.
Note: with the Nexus staging repository both can go into the same staging 
repository making it a single and "joined" release effort for voting upon and 
releasing (or dropping) thereafter.

> 2) I was assuming I could just run mvn -P dist release:prepare from trunk
> and everything would get built and signed appropriately.  When I do that,
> I get
>
>      gpg: can't open
> `/private/tmp/rave/target/rave-project-0.1-incubating-SNAPSHOT-source-relea
> se.zip': No such file or directory
>
>     The file does not exist when built with the dist profile, but does
> exist when built without it.  I am assuming there is some interaction
> between that profile and the order the release plugin normally does
> things.  Any pointers would be helpful.

It wasn't my intention or expectation to use the dist profile for/during the 
release. The produced binary artifacts (.tar.gz and .zip) don't need to go into 
the maven repository, nor is there much sense in doing so.
My intent is to first do the normal release process (so without -P dist), and 
after the release step build the binary dist archives separately.
Those then can (and must be) copied over to some temporary public location for 
others to validate and vote upon. That vote can be a combined vote upon the 
rave-master-pom, rave-project and the binary dist archives together.

With regard to it "not working": this is because Maven profiles only get 
activated one at a time, unless you explicitly enable them manually.
So by enabling the dist profile you effectively disabled the apache release 
profile which you need to do the release.

>
> 3) Do I need infra to grant me karma on the nexus server to do deployments?
AFAIK you don't need anymore than you already have, e.g. you can login to Nexus, 
right?
If not sure, you could test drive by doing a trivial change on the 
rave-master-pom and then a mvn deploy, which will push it through Nexus snapshot 
repository. If you can do that, you have all the permissions needed for the 
release as well.

>
>
> There will probably be more questions, but I am trying to get all of these
> things resolved so that we can push forward with the release.
>
> -Matt
>