...
1. Confirm javadoc plugin definition. Should be configured as follows:
Code Block | ||||
---|---|---|---|---|
| ||||
<plugin> <!-- javadocs --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.6.1</version> <configuration> <debug>true</debug> <links> <link>http://java.sun.com/j2se/1.5.0/docs/api/ </link> <link>http://java.sun.com/j2ee/1.5.0/docs/api/</link> <link>http://static.springframework.org/spring/docs/2.0.8/api/</link> <link>http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/</link> <link>http://jakarta.apache.org/velocity/api/</link> <link>http://www.hibernate.org/hib_docs/v3/api/</link> <link>http://james.apache.org/javadocs/</link> <link>http://james.apache.org/mailet/</link> </links> <breakiterator>true</breakiterator> </links> <breakiterator>true<<verbose>false</breakiterator>verbose> <verbose>false</verbose> <aggregate>true</aggregate> <aggregate>true</aggregate> <maxmemory>512m</maxmemory> <additionalJOption>-J-Xms168m -J- <additionalJOption>-J-Xms168m -J-Xmx512m -J-XX:PermSize=128m -J-XX:NewSize=64m</additionalJOption> <version>2.3</version> </configuration> </plugin> |
2. Confirm that taglib profile is included.
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> |
Copy sakaiartifactgenerator.sh to local 2.8.0 branch checkout folder and run
No Format |
---|
sh sakaiartifactgenerator.sh 2.8.0 storepass keystore
|
The artifactgenerator script performs the following steps
1. clean out previous builds
2. clean out target, m2-target, bin
3. clean out /tmp/maven2
4. updates <version> (M2 to 2.8.0) in
all pom.xml
all .classpath
all runconversion.sh
, also content-runconversion.sh
The script pauses to allow the changes to be committed. Once the commits are completed, update the .externals
file (all projects) to r52308 in preparation for cutting the final release tag.
No Format |
---|
sed -e "s/ -r [0-9]*/ -r 52308/" <.externals >.externals.tmp
cp .externals.tmp .externals
rm -f .externals.tmp
svn propset -F .externals svn:externals .
svn propget svn:externals
svn commit -m "tag prep for next release"
|
Resume script run.
5. tar up the source code
6. perform the following mvn actions:
No Format |
---|
mvn install (in /master)
mvn -Ppack-demo install -Dkeystore=${location}/Sakai.keystore -Dalias=sakai -Dstorepass=${KEYSTOREPASS}
mvn install source:jar source:test-jar deploy -Dkeystore=${location}/Sakai.keystore -Dalias=sakai -Dstorepass=${KEYSTOREPASS}
mvn javadoc:javadoc
mvn -Ptaglib taglib:taglibdocjar deploy
where ${KEYSTOREPASS} is the keystore password and Sakai.keystore contains the certificates.
|
7. then package up
the maven repo in /tmp/maven2
the javadoc
the sakai-demo and sakai-bin artifacts
the taglibsdocs
...
<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>
|
Run sakaiartifactgenerator.bash
No Format |
---|
sh sakaiartifactgenerator.sh 2.8.0 /Users/arwhyte/Development/svn/sakai/branches/sakai-2.8.0
|
Download and check samigo audio jar for signature
No Format |
---|
jarsigner -verify sakai-samigo-audio-2.8.0.jar |
...
1. Build and deploy the sakai-src artifactarchives.
WARNING do not issue clean and install goals or local repo will get wiped prematurely (Sakai maven2 repo has yet to be updated).
No Format |
---|
cd master mvn install cd .. mvn -o -Dmaven.test.skip=true sakai:deploy |
1.1 Fix bin artifacts
The ant task fails to create the archives correctly, including a parent folder. Fix 2. Test the sakai-bin archives
Check that the ant task built the archives correctly. Fix if necessary as follows:
No Format |
---|
tar -czvf sakai-bin-2.8.0.tgz ECLv2.text common components licenses server shared webapps |
23. 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.8.0.tgz -C /var/www/html/
|
Generate checksums (example)
No Format |
---|
md5sum sakai-bin-2.8.0.tar.gz > sakai-bin tar -xvzf mavenrepo-2.8.0_tar_gz.md5.tgz -C /var/www/html/ |
Cut release tag from 2.8.0 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.
Add
...
.
...
No Format |
---|
bash sakaitagbuilder-2.78.bash [JIRA ISSUE] sakai-2.8.0 tags 2.8.0 |
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.
...
Update release
...
pages
Make sure that external links to Confluence release pages are updated.