Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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
xml
xml
<sakai.version>2.7.2</sakai.version>
Ensure that /master/pom.xml sets the correct K1 release <property>.
Code Block
xml
xml
<sakai.kernel.version>1.1.9<14</sakai.kernel.version>
Confirm /master/pom.xml Sakai Maven plugin <version> from 1.2.0
Code Block
xml
xml

<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
  1. Check out 2.7.2 branch
  2. clean Tomcat 5.5.3033
  3. empty .m2/repository/org/sakaiproject
  4. new MySQL 5.1.x sakai db
  5. 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

(minus) Confirm <distributionManagement>, maven-taglib-plugin, wagon-webdav <build> extensions are in place. Commit changes if necessary.

...

Code Block
xml
xml
<!-- Required for Dav -->
<extensions>
    <extension>
	<groupId>org.apache.maven.wagon</groupId>
	<artifactId>wagon-webdav</artifactId>
        <version>1.0-beta-2</version>
    </extension>
</extensions>
(minus) /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
xml
xml

<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)

(warning) 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.