2.5.4 branch prep
Create .externals_2-5-xto2-5-4 file
Documents the 2.5.x revisions that were used to construct this branch. Create a temp folder for .externals_2-5-xto2-5-4 and then issue an svn import WITHOUT including the temp folder in the destination path and .externals_2-5-xto2-5-4 will be added.
No Format |
---|
svn import tmpexternals https://source.sakaiproject.org/svn/sakai/branches/sakai_2-5-4 -m "add .externals_2-5-xto2-5-4" |
sakai.properties updates
...
1. Release.
...
Update component/component-api/component/src/config/org/sakaiproject/config/sakai.properties
updating version.service
, version.sakai
and uncommenting stealthToolsstealthTools@org.sakaiproject.tool.api.ActiveToolManager
. Commit changes.
No Format |
---|
version.service=RELEASE version.sakai=2.5.4 . . . # STEALTH TOOLS. A stealth tool is a tool that is running in Sakai, but is not available to be added to a site in Worksite Setup. # For Development/QA purposes stealthTools property will be commented out; release artifacts will have the property uncommented. stealthTools@org.sakaiproject.tool.api.ActiveToolManager=blogger,sakai.messagecenter,sakai.podcasts,sakai.postem,sakai.rutgers.linktool,sakai.rutgers.testlink,sakai.search,sakai.site.roster |
...
2. Demo and Sample
...
Update reference/docs/sakai.properties
AND reference/demo/sakai.properties
version.service
and version.sakai
. Make sure stealthedTools property is commented out (i.e., enabling all provisional tools for the demo). Commit changes.
...
No Format |
---|
version.service=DEV version.sakai=2.5.4 |
pom.xml updates
...
0. Update /master/pom.xml <sakai.version> from M2 to 2.5.4.
...
<sakai.version>2.5.4</sakai.version>.
...
1. Update /master/pom.xml Sakai Maven plugin <version> from M2 to 1.0.
...
Done.
No Format |
---|
<plugin> <inherited>true</inherited> <groupId>org.sakaiproject.maven.plugins</groupId> <artifactId>sakai</artifactId> <version>*1.0*</version> . . . . </plugin> |
...
2. Update all pom.xml <version> values from M2 to 2.5.4.
...
Done.
...
3. entitybroker/pom.xml
...
Remove <distributionManagement> directive which disrupts build process as well as other extraneous definitions. Commit changes.
...
4. /pack-demo/pom.xml.
...
Confirm that pack-demo pom includes the binary artifact generation code.
...
5. Update Sections-app pom.xml.
...
WARNING: update bad pom after 2.5.4 branch is created and before artifacts are generated. This was fixed for 2.5.x but excluded in .externals. Sections-app pom.xml <testiNcludes> element should be <testIncludes>.
http://jira.sakaiproject.org/jira/browse/SAK-13214
.svnignore
Update .svnignore
and commit changes.
...
No Format |
---|
Sakai.keystore sakaiartifactgenerator.sh |
Add SAK-14949 patch.
Done.
Update .externals
Check out 2.5.4 branch .externals to local tag prep folder and update revision numbers to last commit from above steps. This ensures that the next checkout will include all branch prep commits.
...
Check out 2.5.4 branch again and confirm checkout includes all tag prep commits as well as updated .externals.
Cut RC1 tag.
RC2 prep
Took new revisions of the following projects to Announcement, Samigo (bugs), Syllabus (dependency), reference (scripts), JSF (required dependency) and Velocity per P. Peterson.
...
Check out 2.5.4 branch .externals and update revision to r 55882 to grab head of the branch.
Release Prep
Local build machine environment
- Check out 2.5.4 branch
- clean Tomcat 5.5.26
- empty .m2/repository/org/sakaiproject
- new MySQL 5.0.51 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> |
favicon
Replace Tomcat favicon.ico with Sakai favicon. Add it to reference library. Pack-demo pom.xml snippet below:
No Format |
---|
<!-- Replace the favorite icon from tomcat --> <copy file="${basedir}/../reference/library/src/webapp/icon/favicon.ico" tofile="${basedir}/target/pack/webapps/ROOT/favicon.ico" overwrite="true" /> |
conversion scripts (runconversion.sh)
Check for presence of *runconversion.sh (in assignment, content (named content-runconversion.sh, db) and make sure names get trapped by artifact generation script.
/master/pom.xml
Confirm <distributionManagement>
, maven-taglib-plugin
, wagon-webdav <build>
extensions are in place and that the org.sakaiproject.maven.plugins <version> is set to 1.0. Commit changes if necessary.
...
No Format |
---|
<!-- 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:
...
No Format |
---|
<profile> <id>taglib</id> <modules> <module>gradebook/app/ui</module> <module>help/help-tool</module> <module>jsf/widgets</module> <module>mailtool/mailtool</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> |
Update .externals
Check out 2.5.4 branch .externals to local tag prep folder and update revision numbers to last tag prep commit. This ensures that the next checkout will include all tag prep commits.
...
Check out 2.5.4 branch again and confirm checkout includes all tag prep commits as well as updated .externals.
Generate Release artifacts
1. 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.
2. Copy sakaiartifactgenerator.sh to local 2.5.4 branch checkout folder and run
...
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.5.4.jar |
Check artifacts
1. Build and deploy the sakai-src artifact.
...
2. Run the demo artifact.
3. Checkout 2.5.4 branch and import into Eclipse. Check pom.xml files for correct revision.
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.5.4.tgz -C /var/www/html/ |
Generate checksums (example)
No Format |
---|
md5sum sakai-bin-2.5.4.tar.gz > sakai-bin-2.5.4_tar_gz.md5 |
Cut release tag from 2.5.4 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.
...
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.