I've started experimenting using the maven release plugin. Here are some observations:
1) The release plugin rewrites the "scm" element in the pom to reflect the tag where the release is. In this process, it "interpolates" (i.e., substitutes the values for) maven properties, so these are constant and reflect where the tag is in SVN. 2) The release plugin rewrites the scm elements in the pom for the "next-version" of the pom, using interpolated values. So the original variables are lost from version 2-SNAPSHOT etc. and onwards. This is a known defect (since 2006) - http://jira.codehaus.org/browse/MRELEASE-128 however, it appears the maven team is in no hurry to fix this. I think this reflects a maven philosophy of removing indirection where possible. In this case, we don't need the indirection - it was just put there originally to reduce errors in creating these scm elements in the first place. Having them rewritten with absolute values won't hurt. 3) I had at one point put into the build (for "distributions" only, e.g. xxx-distr) a goal to "flush" the local maven repo. For now, I've taken this out - it's expensive, and probably needs to be done manually. The command it was running was mvn dependency:purge-local-repository. I don't quite understand the pros/cons of having this in the build, yet. -Marshall
