blob: a49b74921855b99139609ca5a1bb11919f1f7c3f [file] [log] [blame]
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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.
-->
<!-- $Id$ -->
<project name="lenya-dist">
<description>
Distribution Targets
</description>
<target name="dist" depends="clean,dist-src,dist-bin" description="Build all distribution relevant tarballs"/>
<!--
This target prepares the binary distribution tarball for
end users. It forces a complete rebuild of everything through its
dependency on the "clean" target in order to prevent garbage
like the cocoon logfiles from ending up in the distribution tarball.
-->
<target name="prepare-dist-bin" depends="clean,kupu,war">
<copy todir="${dist.bin.dir}">
<fileset dir="${basedir}">
<include name="INSTALL-BIN.txt"/>
<include name="README.txt"/>
<include name="LICENSE.txt"/>
<include name="NOTICE.txt"/>
<include name="CREDITS.txt"/>
<include name="lenya.sh"/>
<include name="lenya.bat"/>
<include name="legal/**"/>
</fileset>
</copy>
<!-- Copy Jetty -->
<copy todir="${dist.bin.dir}/tools">
<fileset dir="tools"/>
</copy>
<delete dir="${dist.bin.dir}/tools/anttasks"/>
<!-- Make shell scripts executable -->
<chmod file="${dist.bin.dir}/*.sh" perm="ugo+rx"/>
<chmod file="${dist.bin.dir}/tools/bin/*.sh" perm="ugo+rx"/>
<!-- Make sure linefeeds in shell scripts are UNIX-style -->
<fixcrlf srcdir="${dist.bin.dir}" eol="lf" includes="*.sh"/>
<fixcrlf srcdir="${dist.bin.dir}/tools/bin" eol="lf" includes="*.sh"/>
<!-- Make sure linefeeds in batch files are Windows-style -->
<fixcrlf srcdir="${dist.bin.dir}" eol="crlf" includes="*.bat"/>
<fixcrlf srcdir="${dist.bin.dir}/tools/bin" eol="crlf" includes="*.bat"/>
</target>
<target name="dist-bin" depends="prepare-dist-bin" description="Build a regular binary distribution tar ball">
<tar tarfile="${dist.bin.dir}.tar" basedir="${dist.root}" includes="${distname}-bin/**"/>
<gzip zipfile="${dist.bin.dir}.tar.gz" src="${dist.bin.dir}.tar"/>
<delete file="${dist.bin.dir}.tar"/>
<checksum file="${dist.bin.dir}.tar.gz" fileext=".md5"/>
<zip zipfile="${dist.bin.dir}.zip" basedir="${dist.root}" includes="${distname}-bin/**"/>
<checksum file="${dist.bin.dir}.zip" fileext=".md5"/>
</target>
<!--
This target prepares the binary distribution tarball for
end users. It forces a complete rebuild of everything through its
dependency on the "clean" target in order to prevent garbage
like the cocoon logfiles from ending up in the distribution tarball.
-->
<target name="snapshot-bin" depends="prepare-dist-bin" description="Build a snapshot binary distribution tar ball (the same as 'dist' except for the filename)">
<copy todir="${snapshot.bin.dir}">
<fileset dir="${dist.root}/${distname}-bin"/>
</copy>
<tar tarfile="${snapshot.bin.dir}.tar" basedir="${dist.root}" includes="${snapshot.bin.name}/**"/>
<gzip zipfile="${snapshot.bin.dir}.tar.gz" src="${snapshot.bin.dir}.tar"/>
<delete file="${snapshot.bin.dir}.tar"/>
<zip zipfile="${snapshot.bin.dir}.zip" basedir="${dist.root}/${snapshot.bin.name}"/>
</target>
<!--
The dist-src target prepares the source distribution tarball for
developers. It also depends on the clean target to remove all build stuff.
-->
<target name="prepare-dist-src" depends="clean">
<mkdir dir="${dist.src.dir}"/>
<copy todir="${dist.src.dir}">
<fileset dir=".">
<exclude name="local.build.properties"/>
<exclude name=".classpath"/>
<exclude name=".project"/>
<exclude name=".fbprefs"/>
<exclude name="dist/**"/>
<exclude name="build/**"/>
<exclude name="bin/**"/>
</fileset>
</copy>
<!-- Replace version placeholder with build version -->
<replace dir="${dist.src.dir}">
<include name="**/welcome.xml"/>
<include name="**/about.xml"/>
<include name="**/config/publication.xml"/>
<replacefilter token="@lenya.version@" value="${version}"/>
<replacefilter token="@lenya.revision@" value="${lenya.revision}"/>
</replace>
<!-- Make shell scripts executable -->
<chmod file="${dist.src.dir}/*.sh" perm="ugo+rx"/>
<chmod file="${dist.src.dir}/tools/bin/*.sh" perm="ugo+rx"/>
<!-- Make sure linefeeds in shell scripts are UNIX-style -->
<fixcrlf srcdir="${dist.src.dir}" eol="lf" includes="*.sh"/>
<fixcrlf srcdir="${dist.src.dir}/tools/bin" eol="lf" includes="*.sh"/>
<!-- Make sure linefeeds in batch files are Windows-style -->
<fixcrlf srcdir="${dist.src.dir}" eol="crlf" includes="*.bat"/>
<fixcrlf srcdir="${dist.src.dir}/tools/bin" eol="crlf" includes="*.bat"/>
</target>
<target name="dist-src" depends="prepare-dist-src" description="Builds a regular tar ball containing the sources for developers">
<tar tarfile="${dist.src.dir}.tar" basedir="${dist.root}" includes="${distname}-src/**"/>
<gzip zipfile="${dist.src.dir}.tar.gz" src="${dist.src.dir}.tar"/>
<delete file="${dist.src.dir}.tar"/>
<checksum file="${dist.src.dir}.tar.gz" fileext=".md5"/>
<zip zipfile="${dist.src.dir}.zip" basedir="${dist.root}" includes="${distname}-src/**"/>
<checksum file="${dist.src.dir}.zip" fileext=".md5"/>
</target>
<!--
This target prepares the source distribution tarball for
end users. It forces a complete rebuild of everything through its
dependency on the "clean" target in order to prevent garbage
like the cocoon logfiles from ending up in the distribution tarball.
-->
<target name="snapshot-src" depends="prepare-dist-src" description="Builds a snapshot tar ball containing the sources for developers (the same as 'dist-src' except for the filename)">
<copy todir="${snapshot.src.dir}">
<fileset dir="${dist.src.dir}"/>
</copy>
<tar tarfile="${snapshot.src.dir}.tar" basedir="${dist.root}" includes="${snapshot.src.name}/**"/>
<gzip zipfile="${snapshot.src.dir}.tar.gz" src="${snapshot.src.dir}.tar"/>
<delete file="${snapshot.src.dir}.tar"/>
</target>
<target name="zip-webapp" depends="init" description="Zips the webapp in order to deploy within another servlet container">
<tar tarfile="./${build.dir}/${snapshot.bin.name}.tar" basedir="${build.webapp}"/>
<gzip zipfile="./${build.dir}/${snapshot.bin.name}.tar.gz" src="./${build.dir}/${snapshot.bin.name}.tar"/>
<delete file="./${build.dir}/${snapshot.bin.name}.tar"/>
</target>
</project>