On 6/17/11 12:40 PM, "Ate Douma" <[email protected]> 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
>>
>

Reply via email to