2.7.2 branch prep
PROPERTIES SETTINGS (*.sakai.properties: default, demo, sample)
Version
No Format |
---|
version.service=RELEASE version.sakai=2.7.2 |
...
No Format |
---|
version.service=SAMPLE version.sakai=2.7.2 |
Stealth settings
Stealth the following tools in both release and demo:
...
No Format |
---|
version.service=RELEASE version.sakai=2.7.2 |
POM UPDATES
Update all pom.xml <version> values from 2.7.0 to 2.7.2.
Update /master/pom.xml <sakai.version> from 2.7.0 to 2.7.2.
Code Block | ||||
---|---|---|---|---|
| ||||
<sakai.version>2.7.2</sakai.version> |
Ensure that /master/pom.xml sets the correct K1 release <property>.
Code Block | ||||
---|---|---|---|---|
| ||||
<sakai.kernel.version>1.1.9<14</sakai.kernel.version> |
Confirm /master/pom.xml Sakai Maven plugin <version> from 1.2.0
Code Block | ||||
---|---|---|---|---|
| ||||
<plugin> <inherited>true</inherited> <groupId>org.sakaiproject.maven.plugins</groupId> <artifactId>sakai</artifactId> <version>1.2.0</version> . . . . </plugin> |
/pack-demo/pom.xml.
Confirm that pack-demo pom includes the binary artifact generation code.
PROJECT CONVERSION SCRIPTS (*runconversion.sh)
Check for presence of *runconversion.sh (in assignment, content (named content-runconversion.sh, db) and update embedded comments Sakai version to 2.7.2 and Kernel K1 version to 1.1.912.
No Format |
---|
dhcp-dc-prog13:branches arwhyte$ find 2.7.2/ -type f -name "*conversion.sh" -print 2.7.2//assignment/runconversion.sh 2.7.2//content/content-runconversion.sh 2.7.2//mailarchive/mailarchive-runconversion.sh |
GENERATE RELEASE ARTIFACTS
Get copy of Maven2 repo
Mount Sakai Maven2 Repo using DAV (https:/source.sakaiproject.org/maven2 -> /Volumes/maven2). WARNING: create backup folder of maven2 so that only one copy operation is required in event of a generation failure. This takes far too long to accomplish. Just tar up maven2/org/sakaiproject
and sftp or scp across the network. The challenge here is that you need all the Maven metadata files locally so that they can be properly updated during the release. Start thinking about using rsync.
Local build machine environment
- Check out 2.7.2 branch
- clean Tomcat 5.5.3033
- empty .m2/repository/org/sakaiproject
- new MySQL 5.1.x sakai db
- Confirm maven-taglib is defined in .m2/settings.xml
No Format |
---|
<!-- Reference plugins in order to use <goalPrefix> short-hand --> <pluginGroups> <pluginGroup>net.sourceforge.maven-taglib</pluginGroup> </pluginGroups> |
/master/pom.xml
Confirm <distributionManagement>
, maven-taglib-plugin
, wagon-webdav <build>
extensions are in place. Commit changes if necessary.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<!-- Required for Dav --> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav</artifactId> <version>1.0-beta-2</version> </extension> </extensions> |
/reference/conversion
Review sql conversion scripts, update and commit as necessary.
base pom.xml
1. Confirm javadoc plugin definition. Should be configured as follows:
...
Code Block | ||||
---|---|---|---|---|
| ||||
<profile> <id>taglib</id> <modules> <module>gradebook/app/ui</module> <module>help/help-tool</module> <!-- <module>jsf/jsf-widgets</module> --> <module>metaobj/metaobj-util/tool-lib</module> <!-- <module>msgcntr/messageforums-app</module> --> <module>osp/common/tool-lib</module> <module>osp/glossary/tool-lib</module> <module>osp/jsf/widgets</module> <module>osp/presentation/tool-lib</module> <module>podcasts/podcasts-app</module> <module>postem/postem-app</module> <!-- <module>profile/profile-app</module> --> <module>roster/roster-app</module> <module>rwiki/rwiki-tool/tool</module> <!-- <module>sam/samigo-app</module> --> <module>sections/sections-app</module> <module>sections/sections-app-util</module> <module>syllabus/syllabus-app</module> </modules> </profile> |
...
Generate binaries for Maven2 repo and release artifacts (demo, bin, src)
check out, install (against an empty .m2/repository/org/sakaiproject), deploy to Tomcat and start up target release branch before generating artifacts.
No Format |
---|
sh sakaiartifactgenerator.shbash sakai-cle-artifactmaker.bash 2.7.2 storepass keystore/Users/arwhyte/Development/svn/sakai/branches/sakai-2.7.2 |
The artifactgenerator script performs the following steps
...
7. then package up
the maven repo in /tmp/maven2
the javadoc
the sakai-demo and sakai-bin artifacts
the taglibsdocs
Check samigo audio jar for signature
No Format |
---|
jarsigner -verify sakai-samigo-audio-2.7.2.jar |
Check artifacts
1. Build and deploy the sakai-src artifact.
...
2. Run the demo artifact.
Update Sakai Maven2 repo
1. Make backup copy of current maven2/org/sakaiproject folder where x.x.x equals the previous Sakai release number. Then untar updated files:
No Format |
---|
sudo tar -xvzf mavenrepo-2.7.2.tgz -C /var/www/html/ |
Generate checksums (example)
No Format |
---|
md5sum sakai-bin-2.7.2.tar.gz > sakai-bin-2.7.2_tar_gz.md5 |
Cut release tag from 2.7.2 branch
The sakaitagbuilder.bash script accepts two arguments: Sakai version and tag suffix (e.g., blank, beta01, rc01, qa01). In this case no tag suffix is required.
Remove build script before cutting tag.
Update .svnignore
and commit changes.
...
After the release is generated, backup .m2/repository/org/sakaiproject, whack original (to ensure someone new can populate their repo from scratch), download the release tag and build and deploy it to a fresh Tomcat and fresh MySQL database.
Build release page
Make sure that external links to Confluence release pages are updated.