Local build machine environment
- clean Tomcat 5.5.26
- empty .m2/repository/org/sakaiproject
- new MySQL 5.0.51 sakai db
- add to .M2/settings.xml
<!-- Reference plugins in order to use <goalPrefix> short-hand --> <pluginGroups> <pluginGroup>net.sourceforge.maven-taglib</pluginGroup> </pluginGroups>
Tag preparation
Check out final RC tag.
sakai.properties
1. 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.
version.service=RELEASE version.sakai=2.5.2 . . . # 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. Update reference/docs/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.
version.service=DEMO version.sakai=2.5.2
/master/pom.xml
Add <distributionManagement>
, maven-taglib-plugin
, wagon-webdav <build>
extension.
Commit changes.
1. <distributionManagement>
<distributionManagement> <repository> <uniqueVersion>false</uniqueVersion> <id>local</id> <name>Local Test</name> <url>file:///tmp/maven2</url> <layout>default</layout> </repository> <site> <id>local</id> <name>Local Test</name> <url>file:///tmp/site</url> </site> </distributionManagement>
2. maven-taglib-plugin
<plugin> <groupId>net.sourceforge.maven-taglib</groupId> <artifactId>maven-taglib-plugin</artifactId> <configuration> <goalPrefix>taglib</goalPrefix> <taglib.src.dir>src</taglib.src.dir> <!-- <taglib.src.dir>src/webapp/WEB-INF</taglib.src.dir> --> </configuration> </plugin>
3. wagon-webdav <build>
extension
<!-- Required for Dav --> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav</artifactId> <version>1.0-beta-2</version> </extension> </extensions>
/pack-demo/pom.xml
The current 2.5.x pack-demo pom does not include the binary artifact generation code. Replace entire pom and commit changes.
<?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>base</artifactId> <groupId>org.sakaiproject</groupId> <version>2.5.2</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.sakaiproject</groupId> <artifactId>pack-demo</artifactId> <packaging>pom</packaging> <name>Sakai Pack Demo</name> <version>2.5.2</version> <organization> <name>Sakai Project</name> <url>http://sakaiproject.org/</url> </organization> <properties> <sakai.plugin.version>2.2</sakai.plugin.version> <sakai.tomcat.version>5.5.26</sakai.tomcat.version> </properties> <dependencies> <dependency> <groupId>tomcat.tomcat</groupId> <artifactId>tomcat</artifactId> <version>${sakai.tomcat.version}</version> <type>zip</type> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>pack-demo-clean</id> <phase>install</phase> <configuration> <tasks> <!-- clear the deploy area --> <delete dir="${basedir}/target/unpack" /> <delete dir="${basedir}/target/pack" /> <!-- expand the tomcat zip from the repo into the target --> <unzip src="${settings.localRepository}/tomcat/tomcat/tomcat/${sakai.tomcat.version}/tomcat-${sakai.tomcat.version}.zip" dest="${basedir}/target/unpack" overwrite="true" /> <echo> Executing cd ../;mvn -Dmaven.tomcat.home=${basedir}/target/pack -Dmaven.test.skip=true clean install sakai:deploy </echo> <exec dir="../" executable="mvn" failonerror="true"> <arg value="-Dmaven.tomcat.home=${basedir}/target/pack" /> <arg value="-Dmaven.test.skip=true" /> <arg value="-Dkeystore=${keystore}" /> <arg value="-Dalias=${alias}" /> <arg value="-Dstorepass=${storepass}" /> <!-- <arg value="clean"/> --> <arg value="install" /> <arg value="sakai:deploy" /> </exec> <copy todir="${basedir}/target/pack/licenses/"> <fileset dir="${basedir}/../reference/licenses"> <exclude name=".svn/**" /> </fileset> </copy> <copy file="${basedir}/../ECLv1.txt" tofile="${basedir}/target/pack/ECLv1.txt" overwrite="true" /> <!-- zip it --> <delete file="sakai-bin-${sakai.version}.zip" /> <zip destfile="sakai-bin-${sakai.version}.zip" compress="yes"> <zipfileset dir="${basedir}/target/pack/" prefix="sakai-bin-${sakai.version}" /> </zip> <echo> * * * sakai-bin-${sakai.version}.zip </echo> <!-- tar it --> <delete file="sakai-bin-${sakai.version}.tar.gz" /> <tar destfile="sakai-bin-${sakai.version}.tar.gz" longfile="gnu" compression="gzip"> <tarfileset dir="${basedir}/target/pack/" mode="755" prefix="sakai-bin-${sakai.version}"> <include name="**/*.sh" /> </tarfileset> <tarfileset dir="${basedir}/target/pack/" prefix="sakai-bin-${sakai.version}"> <exclude name="**/*.sh" /> </tarfileset> </tar> <echo> * * * sakai-bin-${sakai.version}.tar.gz </echo> <move file="${basedir}/target/pack" tofile="${basedir}/target/pack-stage" overwrite="true" /> <move file="${basedir}/target/unpack/apache-tomcat-${sakai.tomcat.version}" tofile="${basedir}/target/pack" overwrite="true" /> <delete dir="${basedir}/target/unpack" /> <copy todir="${basedir}/target/pack"> <fileset dir="${basedir}/target/pack-stage"> <include name="**/*" /> </fileset> </copy> <!-- add in demo stuff --> <copy file="${basedir}/../reference/demo/sakai.properties" tofile="${basedir}/target/pack/sakai/sakai.properties" /> <copy todir="${basedir}/target/pack/sakai/db"> <fileset dir="${basedir}/../reference/demo/db"> <include name="**/sakai.db.*" /> </fileset> </copy> <copy file="${basedir}/../reference/demo/readme.txt" tofile="${basedir}/target/pack/demo_readme.txt" /> <copy file="${basedir}/../reference/docs/readme.txt" tofile="${basedir}/target/pack/sakai_readme.txt" /> <copy file="${basedir}/../reference/demo/start-sakai.bat" tofile="${basedir}/target/pack/start-sakai.bat" /> <copy file="${basedir}/../reference/demo/start-sakai.sh" tofile="${basedir}/target/pack/start-sakai.sh" /> <copy file="${basedir}/../reference/demo/stop-sakai.bat" tofile="${basedir}/target/pack/stop-sakai.bat" /> <copy file="${basedir}/../reference/demo/stop-sakai.sh" tofile="${basedir}/target/pack/stop-sakai.sh" /> <!-- 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" /> <!-- custom Tomcat mods --> <copy file="${basedir}/../reference/demo/index.html" tofile="${basedir}/target/pack/webapps/ROOT/index.html" /> <copy overwrite="true" file="${basedir}/target/pack/conf/server.xml" tofile="${basedir}/target/pack/conf/server-orig.xml" /> <copy overwrite="true" file="${basedir}/target/pack/conf/server-orig.xml" tofile="${basedir}/target/pack/conf/server.xml"> <filterset begintoken="maxHttpHeaderSize" endtoken=""8192"" recurse="false"> <filter token="=" value="maxHttpHeaderSize="8192" URIEncoding="UTF-8"" /> </filterset> </copy> <!-- makes all ".sh" files readable and executable for anyone on a UNIX system --> <chmod dir="${basedir}/target/pack/" perm="ugo+rx" includes="**/*.sh" /> <!-- zip it --> <delete file="sakai-demo-${sakai.version}.zip" /> <zip destfile="sakai-demo-${sakai.version}.zip" compress="yes"> <zipfileset dir="${basedir}/target/pack/" prefix="sakai-demo-${sakai.version}" /> </zip> <echo> * * * sakai-demo-${sakai.version}.zip </echo> <!-- tar it --> <delete file="sakai-demo-${sakai.version}.tar.gz" /> <tar destfile="sakai-demo-${sakai.version}.tar.gz" longfile="gnu" compression="gzip"> <tarfileset dir="${basedir}/target/pack/" mode="755" prefix="sakai-demo-${sakai.version}"> <include name="**/*.sh" /> </tarfileset> <tarfileset dir="${basedir}/target/pack/" prefix="sakai-demo-${sakai.version}"> <exclude name="**/*.sh" /> </tarfileset> </tar> <echo> * * * sakai-demo-${sakai.version}.tar.gz </echo> <delete dir="${basedir}/target/pack/" /> <delete dir="${basedir}/target/pack-stage/" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
entitybroker/pom.xml
Remove <distributionManagement> directive which disrupts build process as well as other extraneous definitions. Commit changes.
<repositories> <repository> <id>sakai-maven</id> <name>Sakai Maven Repo</name> <layout>default</layout> <url>http://source.sakaiproject.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>default</id> <name>Maven Repository Switchboard</name> <layout>default</layout> <url>http://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <distributionManagement> <repository> <id>Sakai-Maven2</id> <name>Sakaiproject Maven 2 repository</name> <url>dav:https://source.sakaiproject.org/maven2</url> </repository> <site> <id>local site</id> <url>file:/tmp/entitybroker/site/</url> </site> </distributionManagement> <issueManagement> <system>JIRA</system> <url>http://jira.sakaiproject.org/jira/browse/SAK</url> </issueManagement> <ciManagement> <system>Continuum</system> <url>http://saffron.caret.cam.ac.uk/continuum</url> <notifiers> <notifier> <type>mail</type> <sendOnError>true</sendOnError> <sendOnFailure>true</sendOnFailure> <sendOnSuccess>false</sendOnSuccess> <sendOnWarning>false</sendOnWarning> <configuration> <address>aaron@caret.cam.ac.uk</address> </configuration> </notifier> <notifier> <type>mail</type> <sendOnError>true</sendOnError> <sendOnFailure>true</sendOnFailure> <sendOnSuccess>false</sendOnSuccess> <sendOnWarning>false</sendOnWarning> <configuration> <address>antranig@caret.cam.ac.uk</address> </configuration> </notifier> </notifiers> </ciManagement> <!-- define the license --> <licenses> <license> <name>Educational Community License, Version 1.0</name> <url>http://www.opensource.org/licenses/ecl1.php</url> <distribution>repo</distribution> </license> </licenses>