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 >> >
