Hi all, I just wanted to suggest something I have noticed a lot of Apache projects were doing wrong. Especially when unexperienced RMs are doing the releases.
Several times now after doing a release, the RMs have uploaded the source bundles from “target” to the SVN. However they should have uploaded the “target/checkout/target”. It is just too tempting to upload the versions left over from the release:prepare step as they too have the release version. Usually this wouldn’t be a problem and I guess this has happened quite often in the past. The thing is with the adoption of the maven-wrapper we can unfortunately see when something’s going wrong. In this case there is a difference. The source bundles from the prepare step then usually contain the ./mvn/maven-wrapper.jar … which is usually my indicator for instantly knowing what went wrong. The version in the target/checkout simply couldn’t contain this file. From the discussions with the reproducible builds I learned that you can define pre and post actions to the prepare and perform steps. So how about adding a pre-perform action that simply cleans the target directory? I guess updating the default assembly to exclude the jar and class files in the “./mvn” directory could cure some symptoms, but people would still upload the wrong file. I think this could prevent a lot of RCs being -1ed by Justin ;-) Chris
