|
[
Permlink
| « Hide
]
Craig Russell added a comment - 24/Apr/06 06:55 PM
Please review this patch. It is at the trunk or branches/2.0 level.
I have two comments/questions about the patch:
- Please update the description text of the tck20.dist goal. It can use the same text as the help output for tck20.dist. - I'm wondering about the call <attainGoal name="tck20.default"> in the middle of the tck20.dist body? Is this intentional? If yes, I propose to use the prereqs attribute instead: <goal name="tck20.dist" prereqs="tck20.default"> description="Creates distributions of tck20 and dependent JDO2 projects"> <j:set var="maven.multiproject.includes">${tck20.projects}</j:set> <j:set var="goal">dist</j:set> <attainGoal name="multiproject:goal"/> </goal> It looks like we need three different maven goals to accomplish the tasks identified in the "How to release" document:
One goal builds the release artifacts, copies them to the releases directory, and signs them. This allows the release manager to perform local testing before making the artifacts available to the community for testing. maven tck20.dist Another goal pushes the release artifacts to a staging area on the Apache server but doesn't publish them to the mirror sites. This allows the community to test the artifacts and then vote on release. maven -Duser=mbo -Dserver=people.apache.org tck20.stage The final goal pushes the release artifacts to the mirror-accessible Apache server. The mirrors then pick up the release. maven -Duser=mbo -Dserver=people.apache.org tck20.mirror The goals ideally would be defined in the trunk (and therefore at the branches/x.y.z level) but executed in each subproject directory. This allows individual releases of projects with a standard format. For example, to release just api20, cd branches/2.0.1/api20 maven dist maven stage maven mirror Please review the patch
It adds a goal tck20.dist to maven.xml on the trunk or branches/2.0 level. I think it is not necessary to call tck20.defualt from this goal, since maven dist takes care of compiling all the sources. It also adds a postGoal to the maven dist goal that copies the distribution and the files for the remote maven repositories to the releases directory parallel to trunk and branches. There is an issue with automatically signing these files, because it requires typing in the passphrase and I could not convince maven to accept input for a script called from a goal. So I propose we use a script like the sign-directoy script Craig attached to to create scripts to push the artifacts to the staging area and the mirror-accessible Apache server and not use maven goals for this. Just one comment. The scripts now copy three TCK source artifacts to the releases/xxx/dist directory:
-rw-r--r-- 1 clr staff 1799038 Apr 28 17:33 jdo2-tck-SNAPSHOT-src-28_Apr_2006.zip -rw-r--r-- 1 clr staff 866691 Apr 28 17:33 jdo2-tck-SNAPSHOT-src.tar.gz -rw-r--r-- 1 clr staff 1799038 Apr 28 17:33 jdo2-tck-SNAPSHOT-src.zip But thinking a bit more about this, the reason we had the funnny name in the first place was to match the JCP naming conventions. But now it looks like we don't need the JCP to distribute it, so we can go back to the "real" naming conventions. What do you think? I agree. I will change the dist postGoal and remove the code creating the zip with the date in the name. So the dist goal in tck20 will create only two files: jdo2-tck-SNAPSHOT-src.tar.gz and jdo2-tck-SNAPSHOT-src.zip. I will include this change when checking in the patch.
Checked in the patch including the removal of the dist postGoal that creates the zip with the date in the name (see revision 398350). I checked in the patch into the trunk and into the 2.0 branch.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||