| <!-- |
| Copyright 2005-2006 The Apache Software Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- |
| Builds a binary and source distribution of Pluto 1.1, bundling it into zip, gzip and bzip2 files. |
| |
| Run the binary build using the command line: |
| ant -f dist-build.xml |
| |
| The binary distribution is done in the following way: |
| 1. Downloads Tomcat from Apache and unzips it into a working directory. To this distribution, the |
| build: |
| a. Adds emptySessionPath="true" to server.xml. |
| b. Adds a pluto user with pluto role to tomcat-users.xml. |
| c. Adds a pluto role to the tomcat user in tomcat-users.xml. |
| 2. Runs 'mvn install' and 'mvn pluto:install' to create the Pluto driver and testsuite |
| and installs them into the Tomcat dist in the working directory. |
| 3. Bundles up the altered Tomcat dist with Pluto into a zip, gzip and bzip2 file. |
| |
| Run the source build using the command line: |
| ant -f dist-build.xml src-dist |
| |
| All built distributions end up in target/dist. |
| --> |
| <project name="PlutoDistributions" default="bin-dist"> |
| |
| <property name="tomcat.version" value="5.5.23" description="Version of Tomcat to deploy Pluto"/> |
| |
| <xmlproperty file="pom.xml"/> <!-- picks up version from pom file --> |
| <property name="pluto.version" value="${project.version}" description="Version of Pluto 1.1 to build"/> |
| |
| <property name="dist.basedir" value="target/dist" description="Base working directory"/> |
| <property name="base.name" value="apache-tomcat-${tomcat.version}"/> |
| <property name="dist.dir" value="${dist.basedir}/${base.name}"/> |
| <property name="pluto.name" value="pluto-${pluto.version}"/> |
| <property name="pluto.dir" value="${dist.basedir}/${pluto.name}"/> |
| <property name="unzip.file" value="${dist.basedir}/${base.name}.tar.gz"/> |
| <property name="tar.file" value="${dist.basedir}/${base.name}.tar"/> |
| |
| <fileset dir="." id="src.fileset"> |
| <include name="**/*"/> |
| <exclude name="**/*.class"/> |
| <exclude name="**/*.zip"/> |
| <exclude name="**/*.tar.gz"/> |
| <exclude name="**/*.tar.b2"/> |
| <exclude name="**/target/**/*"/> |
| <exclude name="**/.svn/*"/> |
| <exclude name="bin/**/*"/> |
| <exclude name=".classpath"/> |
| <exclude name=".project"/> |
| </fileset> |
| |
| <target name="src-dist" depends="prepare-src-dist"> |
| <zip destfile="${dist.basedir}/${pluto.name}-src.zip"> |
| <zipfileset refid="src.fileset"/> |
| </zip> |
| |
| <antcall target="srctar-nocompress"/> |
| |
| <gzip src="${dist.basedir}/${pluto.name}-src.tar" |
| destfile="${dist.basedir}/${pluto.name}-src.tar.gz"/> |
| |
| <bzip2 src="${dist.basedir}/${pluto.name}-src.tar" |
| destfile="${dist.basedir}/${pluto.name}-src.tar.bz2"/> |
| |
| <antcall target="clean"/> |
| </target> |
| |
| <target name="srctar-nocompress" description="Creates tar source distributions"> |
| <tar destfile="${dist.basedir}/${pluto.name}-src.tar"> |
| <tarfileset dir="."> <!-- refid does not work --> |
| <include name="**/*"/> |
| <exclude name="**/*.class"/> |
| <exclude name="**/*.zip"/> |
| <exclude name="**/*.tar.gz"/> |
| <exclude name="**/*.tar.bz2"/> |
| <exclude name="**/target/**/*"/> |
| <exclude name="**/.svn/*"/> |
| <exclude name="bin/**/*"/> |
| <exclude name=".classpath"/> |
| <exclude name=".project"/> |
| </tarfileset> |
| </tar> |
| </target> |
| |
| <target name="prepare-src-dist"> |
| <mkdir dir="${dist.basedir}"/> |
| </target> |
| |
| <target name="bin-dist" depends="prepare-bin-dist,run-maven" description="Creates zip, gzip, and bzip2 distributions"> |
| <!-- Copy over jars needed to deploy custom portlets --> |
| <copy file="pluto-util/target/pluto-util-${pluto.version}.jar" todir="${dist.dir}/PlutoDomain"/> |
| <copy file="pluto-descriptor-api/target/pluto-descriptor-api-${pluto.version}.jar" todir="${dist.dir}/PlutoDomain"/> |
| <copy file="pluto-descriptor-impl/target/pluto-descriptor-impl-${pluto.version}.jar" todir="${dist.dir}/PlutoDomain"/> |
| |
| <!-- Zip everything up --> |
| <zip destfile="${dist.basedir}/${pluto.name}-bin.zip"> |
| <zipfileset prefix="${pluto.name}" dir="${dist.dir}" includes="**/*"/> |
| </zip> |
| |
| <antcall target="tar-nocompress"/> |
| |
| <gzip src="${dist.basedir}/${pluto.name}-bin.tar" |
| destfile="${dist.basedir}/${pluto.name}-bin.tar.gz"/> |
| |
| <bzip2 src="${dist.basedir}/${pluto.name}-bin.tar" |
| destfile="${dist.basedir}/${pluto.name}-bin.tar.bz2"/> |
| |
| <antcall target="clean"/> |
| </target> |
| |
| <target name="tar-nocompress" description="Creates tar binary distributions"> |
| <tar destfile="${dist.basedir}/${pluto.name}-bin.tar"> |
| <tarfileset prefix="${pluto.name}" dir="${dist.dir}" mode="755" username="pluto" group="pluto"> |
| <include name="bin/*.sh"/> |
| </tarfileset> |
| <tarfileset prefix="${pluto.name}" dir="${dist.dir}" username="pluto" group="pluto"> |
| <include name="**/*"/> |
| <exclude name="bin/*.sh"/> |
| </tarfileset> |
| </tar> |
| </target> |
| |
| <target name="prepare-bin-dist"> |
| <exec executable="mvn" vmlauncher="false" dir="${basedir}"> |
| <arg line="clean:clean"/> |
| </exec> |
| <mkdir dir="${dist.basedir}"/> |
| |
| <get src="http://archive.apache.org/dist/tomcat/tomcat-5/v${tomcat.version}/bin/${base.name}.tar.gz" |
| dest="${unzip.file}" |
| /> |
| |
| <gunzip src="${unzip.file}" |
| dest="${dist.basedir}" |
| description="Creates tar from tar.gz tomcat dist" |
| /> |
| |
| <untar src="${tar.file}" |
| dest="${dist.basedir}" |
| description="Untars tomcat dist" |
| /> |
| |
| <!-- Copy over README --> |
| <copy file="README" todir="${dist.dir}"/> |
| |
| <!-- Add emptySessionPath="true" to Connector element in server.xml --> |
| <replace file="${dist.dir}/conf/server.xml" |
| token="connectionTimeout="20000" disableUploadTimeout="true" />" |
| value="connectionTimeout="20000" disableUploadTimeout="true" emptySessionPath="true" />" |
| summary="true" |
| /> |
| |
| <!-- Put tomcat user in 'pluto' role in tomcat-users.xml --> |
| <replace file="${dist.dir}/conf/tomcat-users.xml" |
| token="roles="tomcat"" |
| value="roles="tomcat,pluto"" |
| summary="true" |
| /> |
| |
| <!-- Add 'pluto' user to tomcat-users.xml --> |
| <replace file="${dist.dir}/conf/tomcat-users.xml" |
| token="</tomcat-users>" |
| value="<user name="pluto" password="pluto" roles="pluto" />${line.separator}</tomcat-users>" |
| summary="true" |
| /> |
| </target> |
| |
| <target name="run-maven" description="Runs maven2 goals"> |
| <exec executable="mvn" vmlauncher="false" dir="${basedir}"> |
| <arg line="install"/> |
| </exec> |
| <exec executable="mvn" vmlauncher="false" dir="${basedir}"> |
| <arg line="pluto:install -DinstallDir=${user.dir}/${dist.dir}"/> |
| </exec> |
| </target> |
| |
| <target name="clean"> |
| <delete dir="${dist.dir}"/> |
| <delete file="${unzip.file}"/> |
| <delete file="${tar.file}"/> |
| <delete file="${dist.basedir}/${pluto.name}-src.tar"/> |
| <delete file="${dist.basedir}/${pluto.name}-bin.tar"/> |
| </target> |
| |
| </project> |