Notes made while at Knockree
Release notes
1. discovered that the mvn release:prepare that we run requires every child POM also needs an <scm>/<url>
- so have updated throughout in
2. need to verify all licenses. After a bit of experimentation, found the following worked: - mvn license:download-licenses
- generates target/generated-resources/licenses.xml for every module
- indicates the license (taken from the dependencies' pom)
- groovy checkmissinglicenses.groovy
- parses the output and lists those dependencies
1. suggestion made was to manually create a branch and experiment with what the mvn release does. So...
2. svn mkdir https://svn.apache.org/repos/asf/incubator/isis/branches/release-practice -m "yada yada"
3. svn copy https://svn.apache.org/repos/asf/incubator/isis/trunk https://svn.apache.org/repos/asf/incubator/isis/branches/release-practice/trunk
4. in workspace, cp -R the trunk to a new dir, and svn switch
5. recommendation from Zoe Slattery:
- updated parent pom's <scm>/<url> to reflect this dir.
Do a dry run
5. mvn -Papache-release release:prepare -DdryRun=true
Running the RAT Tool (from Nour)
Here's how I used RAT 1:
1. mvn clean eclipse:clean
This step to move any files which are not part of source code and
any binary file as a result of a build.
2. I checked out the source code of RAT tool and built a JAR.
3- I have an updated source code working copy of Isis trunk.
4- java -jar apache-rat-0.8-SNAPSHOT.jar ./
Out of that command I got the attached RAT report.
I could interpret the information there by comparing it with a report
I generated for Apache OpenEJB 2, but I still need someone to have a
look at it more specifically for files IDK what they are used for, for
example the *.hsp files and like.
But as a general note, I believe we need to add ASL header for each
and every file which going to be included in our source tar-ball and
which is not generated as generated files don't need to have that
header, if we can add it thats better but if not then no problem.
Releases "Proper"
There's an official write-up of the process for publishing maven artifacts at http://www.apache.org/dev/publishing-maven-artifacts.html.
There's also a fantastic write-up (so Mark tells us) about how to release using the stuff inherited from org.apache:apache-parent:7 (as we do). It was put together by Donald Woods, and can be found at http://incubator.apache.org/bval/cwiki/release-process.html
Nour's notes
I found these resources as start to get a hands on experience about
Apache release process.
General release process rules:
--------------------------------------------
1- http://www.apache.org/dev/release-publishing.html
2- http://www.apache.org/dev/release.html
Podling release management:
-------------------------------------------
1- http://incubator.apache.org/incubation/Incubation_Policy.html#Releases
2- http://incubator.apache.org/guides/releasemanagement.html