You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2002/06/04 11:04:30 UTC
cvs commit: jakarta-avalon-apps/ftpserver build.xml
hammant 2002/06/04 02:04:30
Modified: demo build.xml
ftpserver build.xml
Log:
work unifying build scripts
Revision Changes Path
1.54 +11 -8 jakarta-avalon-apps/demo/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-apps/demo/build.xml,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- build.xml 3 Jun 2002 17:30:00 -0000 1.53
+++ build.xml 4 Jun 2002 09:04:30 -0000 1.54
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<project default="main" basedir=".">
+<project name="Demo Apps" default="main" basedir=".">
<!--
Give user a chance to override without editing this file
@@ -452,16 +452,20 @@
</target>
<!-- Prepares the documentation directory -->
- <target name="docs" depends="setup-filters"> <!-- depends="javadocs" description="Generates the Docs" -->
+ <target name="docs" depends="setup-filters, javadocs" description="Generates the Docs">
<mkdir dir="${docs.dir}"/>
+
+ <echo>OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo</echo>
<mkdir dir="${build.context}"/>
<mkdir dir="${build.xdocs}"/>
<mkdir dir="${build.docs}"/>
<mkdir dir="${build.dir}/work"/>
- <!-- <mkdir dir="../../docs/apps/demo"/> TODO -->
<!-- Base pointers for non-xdocs documentation. Override these in .ant.properties to link to local docs -->
+
+ <filter token="skin" value="avalon-site"/>
+
<copy todir="${build.context}" filtering="on">
<fileset dir="${context.dir}">
<exclude name="diagrams/**"/>
@@ -470,7 +474,8 @@
</fileset>
</copy>
- <copy todir="${build.context}/xdocs" filtering="on" overwrite="yes">
+ <mkdir dir="${build.context}/content/xdocs"/>
+ <copy todir="${build.context}/content/xdocs" filtering="on" overwrite="yes">
<fileset dir="${xdocs.dir}"/>
</copy>
@@ -504,8 +509,8 @@
<target name="site" depends="docs" description=" Places Docs ready for hosting on website">
- <mkdir dir="../site/docs/apps/demo"/>
- <copy todir="../site/docs/apps/demo">
+ <mkdir dir="../site/docs/apps/${name}"/>
+ <copy todir="../site/docs/apps/${name}">
<fileset dir="docs">
<include name="**"/>
</fileset>
@@ -548,7 +553,6 @@
<zip zipfile="${dist.base}/${dist.name}-src.zip"
basedir="${dist.name}/.."
includes="${dist.name}/**">
- <!-- TODO - trim the jars to those that are relevant -->
<fileset dir="..">
<include name="common/lib/excalibur-*"/>
<include name="common/lib/avalon-*"/>
@@ -568,7 +572,6 @@
<include name="${dist.name}/**"/>
<exclude name="${dist.name}/build.sh"/>
</tarfileset>
- <!-- TODO - trim the jars to those that are relevant -->
<tarfileset dir=".." username="avalon" group="avalon">
<include name="common/lib/excalibur-*"/>
<include name="common/lib/avalon-*"/>
1.34 +139 -175 jakarta-avalon-apps/ftpserver/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-apps/ftpserver/build.xml,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- build.xml 22 May 2002 20:41:35 -0000 1.33
+++ build.xml 4 Jun 2002 09:04:30 -0000 1.34
@@ -1,13 +1,5 @@
<?xml version="1.0"?>
-<!--
-==============================================================================
-
- FTPServer build file
-
-==============================================================================
--->
-
<project name="FTP Server" default="main" basedir=".">
<!--
@@ -17,44 +9,20 @@
<property file=".ant.properties"/>
<property file="${user.home}/.ant.properties"/>
- <property name="name" value="ftpserver"/>
+ <property name="name" value="ftp-server"/>
<property name="Name" value="FtpServer"/>
<property name="version" value="1.0"/>
- <property name="year" value="2001"/>
- <property name="jar.name" value="ftp-server"/>
-
- <!--
- these are here only for those who use jikes compiler. For other
- developers this part makes no difference.
- -->
- <property name="build.compiler.emacs" value="on"/>
- <property name="build.compiler.pedantic" value="true"/>
- <property name="build.compiler.depend" value="true"/>
- <property name="build.compiler.fulldepend" value="true"/>
+ <property name="year" value="2001-2002"/>
<property name="build.debug" value="on"/>
<property name="build.optimize" value="off"/>
<property name="build.deprecation" value="on"/>
- <!--
- ===================================================================
- Set the installation variables for Cornerstone/Phoenix
- ===================================================================
- -->
+ <!-- Set the installation variables for Cornerstone/Phoenix -->
<property name="phoenix.home" value="../../jakarta-avalon-phoenix/dist"/>
- <property name="phoenix.apps" value="${phoenix.home}/apps"/>
<property name="install.dir" value="${phoenix.home}"/>
- <property name="install.bin.dir" value="${install.dir}/bin"/>
- <property name="install.lib.dir" value="${install.dir}/lib"/>
- <property name="install.data.dir" value="${install.dir}/conf"/>
- <property name="install.doc.dir" value="${install.dir}/docs"/>
-
-
- <!--
- ===================================================================
- Set the properties for intermediate directory
- ===================================================================
- -->
+
+ <!-- Set the properties for intermediate directory -->
<property name="build.dir" value="build"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="build.xdoclet" value="${build.dir}/xdoclet"/>
@@ -62,32 +30,25 @@
<property name="build.classes" value="${build.dir}/classes"/>
<property name="build.javadocs" value="${build.dir}/javadocs"/>
<property name="build.docs" value="${build.dir}/docs"/>
- <property name="build.xdocs" value="${build.dir}/xdocs"/>
<property name="build.context" value="${build.dir}/documentation"/>
+ <property name="build.xdocs" value="${build.context}/xdocs"/>
- <!--
- ===================================================================
- Set the properties for source directories
- ===================================================================
- -->
+ <!-- Set the properties for source directories -->
<property name="src.dir" value="src"/>
<property name="java.dir" value="${src.dir}/java"/>
<property name="manifest.dir" value="${src.dir}/manifest"/>
<property name="conf.dir" value="${src.dir}/conf"/>
- <property name="tools.dir" location="../../jakarta-avalon/tools"/>
<property name="docs.dir" value="docs"/>
- <property name="javadocs.dir" value="${docs.dir}/api"/>
- <property name="xdocs.dir" value="${src.dir}/xdocs"/>
<property name="context.dir" value="../../jakarta-avalon/src/documentation"/>
- <property name="junit.jar" value="${tools.dir}/lib/junit-3.7.jar"/>
- <property name="tools.jar" value="${java.home}/../lib/tools.jar"/>
+ <property name="xdocs.dir" value="${src.dir}/xdocs"/>
+ <property name="tools.dir" value="../../jakarta-avalon/tools"/>
<property name="dist.name" value="${Name}-${version}"/>
<property name="dist.base" value="distributions"/>
<path id="project.class.path">
<pathelement path="${java.class.path}" />
- <pathelement path="../../build/classes" />
+ <pathelement path="${build.classes}" />
<fileset dir="../common/lib">
<include name="*.jar" />
</fileset>
@@ -101,72 +62,19 @@
</path>
<path id="tools.class.path">
- <pathelement location="${junit.jar}"/>
+ <path refid="project.class.path"/>
+ <pathelement location="${xerces.jar}"/>
+ <pathelement location="${xalan.jar}"/>
<pathelement location="${tools.jar}"/>
- <fileset dir="${tools.dir}/lib"/>
- <fileset dir="${tools.dir}/ext"/>
+ <fileset dir="${tools.dir}/lib">
+ <exclude name="ant.jar" />
+ </fileset>
</path>
<taskdef name="sar" classname="org.apache.avalon.phoenix.tools.tasks.Sar">
<classpath refid="project.class.path" />
</taskdef>
- <!--
- ===================================================================
- Help on usage
- ===================================================================
- -->
- <target name="usage">
- <echo message=""/>
- <echo message="${Name} Build file"/>
- <echo message="-------------------------------------------------------------"/>
- <echo message=""/>
- <echo message=" available targets are:"/>
- <echo message=""/>
- <echo message=" all -> generates all the ${Name} jar/bar/sar files"/>
- <echo message=" install -> installs ${Name} into Phoenix"/>
- <echo message=" uninstall -> uninstalls ${Name} from Phoenix"/>
- <echo message=" check -> perform any built in tests"/>
- <echo message=" docs -> generates the ${Name} Documentation"/>
- <echo message=" printerdocs -> generates printer-friendly ${Name} Docs"/>
- <echo message=" javadocs -> generates the API documentation (java 1.2+ only)"/>
- <echo message=" dist -> generates the ${Name} distribution"/>
- <echo message=" clean -> cleans up the created directories"/>
- <echo message=" distclean -> cleans up all genereated files and directories"/>
- <echo message=""/>
- <echo message="-------------------------------------------------------------"/>
- <echo message=""/>
- </target>
-
- <target name="help" depends="usage"/>
-
- <!--
- ===================================================================
- Set up dist properties
- ===================================================================
- -->
- <target name="setup-properties" >
-
- <property name="dist.dir" value="dist"/>
- <property name="dist.lib" value="${dist.dir}/lib"/>
- <property name="dist.docs" value="${dist.dir}/docs"/>
- <property name="dist.javadocs" value="${dist.dir}/docs/api"/>
-
- <property name="src.dist.dir" value="dist-src"/>
- <property name="src.dist.src" value="${src.dist.dir}/src"/>
- <property name="src.dist.docs" value="${src.dist.dir}/docs"/>
- <property name="src.dist.javadocs" value="${src.dist.dir}/docs/api"/>
- <property name="src.dist.lib" value="${src.dist.dir}/lib"/>
- <property name="src.dist.tools" value="${src.dist.dir}/tools"/>
- </target>
-
- <!--
- ===================================================================
- Prepares the build directory
- ===================================================================
- -->
-
-
<!-- Setup the filters -->
<target name="setup-filters">
<filter token="Name" value="Avalon Apps - FtpServer"/>
@@ -194,10 +102,9 @@
</target>
- <!--===============================================-->
- <!-- compile all java files and copy all resources -->
- <!--===============================================-->
+ <!-- Compiles project -->
<target name="compile">
+
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
@@ -222,8 +129,8 @@
<copy todir="${build.classes}">
<fileset dir="${java.dir}">
+ <exclude name="**/test/**"/>
<exclude name="**/*.java"/>
- <exclude name="**/CVS/*"/>
</fileset>
</copy>
@@ -252,13 +159,9 @@
</target>
- <!--==============================-->
- <!-- create all jar files -->
- <!--==============================-->
- <target name="main" depends="sars" description="Default target to generate build products minus docs"/>
- <target name="all" depends="compile" description="Generates all the FtpServer jar/bar/sar files"/>
-
- <target name="sars" depends="phoenix-xdoclet">
+ <!-- Jars up project -->
+ <target name="jars" depends="phoenix-xdoclet">
+
<mkdir dir="${build.lib}"/>
<!-- remote admin jar file -->
@@ -275,22 +178,30 @@
</jar>
<!-- jar file -->
- <jar jarfile="${build.lib}/${jar.name}.jar"
+ <jar jarfile="${build.lib}/${name}.jar"
manifest="${build.xdoclet}/manifest.mf">
<fileset dir="${build.classes}" excludes="**/gui/*"/>
<fileset dir="${build.xdoclet}">
<include name="**/*.xinfo"/>
</fileset>
</jar>
+
+ </target>
+
+ <target name="main" depends="sars" description="Default target to generate build products minus docs"/>
+ <target name="all" depends="main, docs" description="Generates all the FtpServer jar/bar/sar files"/>
+
+ <target name="sars" depends="jars">
+
<!-- sar file -->
- <sar sarfile="${build.lib}/${jar.name}.sar"
+ <sar sarfile="${build.lib}/${name}.sar"
config="${conf.dir}/ftp-config.xml"
environment="${conf.dir}/ftp-environment.xml"
assembly="${conf.dir}/ftp-assembly.xml" >
<lib dir="${build.lib}/">
- <include name="${jar.name}.jar"/>
+ <include name="${name}.jar"/>
</lib>
<lib dir="../common/lib">
@@ -309,39 +220,36 @@
</target>
+ <!-- Performs unit tests -->
+ <target name="check" depends="compile" description="Perform any built in tests">
+ </target>
- <!--
- ===================================================================
- Create the API documentation
- ===================================================================
- -->
- <target name="javadocs">
+ <!-- Create the API documentation -->
+ <target name="javadocs" description="Generates the Java Docs">
- <delete dir="${build.javadocs}"/>
- <mkdir dir="${build.javadocs}"/>
+ <delete dir="${docs.dir}/api"/>
+ <mkdir dir="${docs.dir}/api"/>
- <javadoc packagenames="org.apache.avalon.ftpserver.*"
+ <javadoc packagenames="org.apache.*"
sourcepath="${java.dir}"
- destdir="${build.javadocs}">
+ destdir="${docs.dir}/api">
<classpath refid="project.class.path" />
<doclet name="com.sun.tools.doclets.standard.Standard">
<param name="-author"/>
<param name="-version"/>
- <param name="-use"/>
<param name="-doctitle" value="${Name}"/>
<param name="-windowtitle" value="${Name} API"/>
<param name="-bottom"
value=""Copyright © 2001 Apache Jakarta Project. All Rights Reserved.""/>
</doclet>
</javadoc>
-
</target>
- <!--
- ===================================================================
- Prepares the documentation directory
- ===================================================================
- -->
+ <!-- prepares printer friendly documentation -->
+ <target name="printerdocs" depends="javadocs" description="Generates the printer-friendly Docs">
+ <echo message="Printer friendly docs are not yet implemented"/>
+ </target>
+
<!-- Prepares the documentation directory -->
<target name="docs" depends="setup-filters, javadocs" description="Generates the Docs">
<mkdir dir="${docs.dir}"/>
@@ -350,7 +258,6 @@
<mkdir dir="${build.xdocs}"/>
<mkdir dir="${build.docs}"/>
<mkdir dir="${build.dir}/work"/>
- <!-- <mkdir dir="../../docs/apps/ftpserver"/> TODO -->
<!-- Base pointers for non-xdocs documentation. Override these in .ant.properties to link to local docs -->
<copy todir="${build.context}" filtering="on">
@@ -395,8 +302,8 @@
<target name="site" depends="docs" description=" Places Docs ready for hosting on website">
- <mkdir dir="../site/docs/apps/ftpserver"/>
- <copy todir="../site/docs/apps/ftpserver">
+ <mkdir dir="../site/docs/apps/${name}"/>
+ <copy todir="../site/docs/apps/${name}">
<fileset dir="docs">
<include name="**"/>
</fileset>
@@ -404,20 +311,17 @@
</target>
+ <!-- Completely build all dists -->
+ <target name="dist" description="Generates the distribution">
+ <property name="dist.name" value="${Name}-${version}"/>
- <target name="printerdocs" depends="javadocs">
- <echo message="Not implemented yet"/>
- </target>
-
- <!--
- ===================================================================
- Completely build all dists
- ===================================================================
- -->
- <target name="dist">
<mkdir dir="${dist.base}"/>
+ <antcall target="bin-dist" inheritAll="false">
+ <param name="bin.dist.dir" value="${dist.name}" />
+ </antcall>
+
<zip zipfile="${dist.base}/${dist.name}-bin.zip"
basedir="${dist.name}/.."
includes="${dist.name}/**"/>
@@ -434,13 +338,22 @@
<delete file="${dist.base}/${dist.name}-bin.tar"/>
<delete dir="${dist.name}" />
- <antcall target="src-dist">
+ <antcall target="src-dist" inheritAll="false">
<param name="src.dist.dir" value="${dist.name}" />
</antcall>
<zip zipfile="${dist.base}/${dist.name}-src.zip"
basedir="${dist.name}/.."
- includes="${dist.name}/**"/>
+ includes="${dist.name}/**">
+ <fileset dir="..">
+ <include name="common/lib/avalon-*"/>
+ <include name="common/lib/cornerstone.jar"/>
+ <include name="common/lib/phoenix-*"/>
+ <include name="common/lib/xdoclet*"/>
+ <include name="common/lib/xjavadoc*"/>
+ <include name="common/lib/log4j-core*"/>
+ </fileset>
+ </zip>
<tar longfile="gnu" tarfile="${dist.base}/${dist.name}-src.tar" >
<tarfileset dir="${dist.name}/.." mode="755" username="avalon" group="avalon">
@@ -450,21 +363,78 @@
<include name="${dist.name}/**"/>
<exclude name="${dist.name}/build.sh"/>
</tarfileset>
+ <tarfileset dir=".." username="avalon" group="avalon">
+ <include name="common/lib/avalon-*"/>
+ <include name="common/lib/cornerstone.jar"/>
+ <include name="common/lib/phoenix-*"/>
+ <include name="common/lib/xdoclet*"/>
+ <include name="common/lib/xjavadoc*"/>
+ <include name="common/lib/log4j-core*"/>
+ </tarfileset>
+
</tar>
<gzip zipfile="${dist.base}/${dist.name}-src.tar.gz"
src="${dist.base}/${dist.name}-src.tar"/>
-
<delete file="${dist.base}/${dist.name}-src.tar"/>
<delete dir="${dist.name}" />
</target>
+
+ <!-- Creates all the .sar files -->
+ <target name="bin-dist" depends="all" >
+
+ <!-- bin.dist.dir usually set before this target is called -->
+ <property name="bin.dist.dir" value="dist"/>
+ <property name="bin.dist.lib" value="${bin.dist.dir}/lib"/>
+ <property name="bin.dist.docs" value="${bin.dist.dir}/docs"/>
+
+ <mkdir dir="${bin.dist.docs}"/>
+ <copy todir="${bin.dist.docs}">
+ <fileset dir="${docs.dir}"/>
+ </copy>
+
+ <!-- Not allowed to distribute glue thus no soapdemo jar -->
+ <copy file="${build.lib}/ftp-server.sar" tofile="${bin.dist.dir}/ftp-server-${version}.sar"/>
+ <copy file="${build.lib}/ftp-admin.jar" tofile="${bin.dist.dir}/ftp-admin-${version}.sar"/>
+
+ <chmod dir="${bin.dist.dir}" perm="go-rwx" />
+ </target>
+
+ <target name="src-dist" depends="docs">
+ <!-- src.dist.dir has usually already been set -->
+ <property name="src.dist.dir" value="dist-src"/>
+ <property name="src.dist.src" value="${src.dist.dir}/src"/>
+ <property name="src.dist.docs" value="${src.dist.dir}/docs"/>
+
+ <mkdir dir="${src.dist.docs}"/>
+
+ <copy todir="${src.dist.docs}">
+ <fileset dir="${docs.dir}"/>
+ </copy>
+
+ <copy todir="${src.dist.src}">
+ <fileset dir="${src.dir}"/>
+ </copy>
+
+ <copy todir="${src.dist.dir}">
+ <fileset dir=".">
+ <include name="build.xml"/>
+ </fileset>
+ </copy>
+
+ <mkdir dir="${src.dist.dir}/lib"/>
+ <copy todir="${src.dist.dir}/lib">
+ <fileset dir="lib">
+ <include name="**"/>
+ </fileset>
+ </copy>
+
+ <fixcrlf srcdir="${src.dist.src}/java" includes="**/*.java" eol="lf"/>
+
+ <chmod dir="${src.dist.dir}" perm="go-rwx" />
+ </target>
- <!--
- ===================================================================
- Cleans up build and distribution directories
- ===================================================================
- -->
<target name="clean" description="Cleans up artifacts from build process">
<delete dir="${build.dir}" />
<delete>
@@ -472,13 +442,9 @@
</delete>
</target>
- <!--
- ===================================================================
- Cleans absolutely everything up
- ===================================================================
- -->
- <target name="distclean" depends="clean" description="Cleans up all genereated files and directories">
+ <target name="distclean" depends="clean" description="Cleans up all generated files and directories">
<delete dir="${docs.dir}" />
+ <delete dir="${bin.dist.dir}" />
<delete dir="${dist.base}" />
</target>
@@ -489,13 +455,13 @@
===================================================================
-->
<target name="install" depends="main,check-phoenix" description="Installs FtpServer into Phoenix">
- <echo message="Installing ${jar.name}.sar to ${install.dir}" />
- <delete file="${installvar.dir}/${jar.name}-install.log" />
- <delete file="${install.dir}/${jar.name}/SAR-INF/lib/${jar.name}.jar" />
- <delete dir="${install.dir}/${jar.name}" />
+ <echo message="Installing ${name}.sar to ${install.dir}" />
+ <delete file="${installvar.dir}/${name}-install.log" />
+ <delete file="${install.dir}/${name}/SAR-INF/lib/${name}.jar" />
+ <delete dir="${install.dir}/${name}" />
<copy todir="${phoenix.apps}" filtering="off">
<fileset dir="dist">
- <include name="${jar.name}.sar"/>
+ <include name="${name}.sar"/>
</fileset>
</copy>
<echo message="Installed" />
@@ -506,8 +472,8 @@
</target>
<target name="uninstall" depends="check-phoenix" description="Uninstalls FtpServer from Phoenix">
- <delete dir="${phoenix.apps}/${jar.name}/" />
- <delete file="${jar.name}.sar" dir="${phoenix.apps}"/>
+ <delete dir="${phoenix.apps}/${name}/" />
+ <delete file="${name}.sar" dir="${phoenix.apps}"/>
</target>
<target name="admintest" depends="main" description="Launches the Swing Admin test client">
@@ -524,7 +490,5 @@
-->
<target name="test" depends="check"/>
- <target name="check" depends="compile" description="Perform any built in tests">
- </target>
</project>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>