Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Local build machine environment

  1. clean Tomcat 5.5.26
  2. empty .m2/repository/org/sakaiproject
  3. new MySQL 5.0.51 sakai db
  4. 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="&quot;8192&quot;"
										recurse="false">
										<filter token="="
											value="maxHttpHeaderSize=&quot;8192&quot; URIEncoding=&quot;UTF-8&quot;" />
									</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>
  • No labels