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="&quot;Copyright &#169; 2001 Apache Jakarta Project. All Rights Reserved.&quot;"/>
         </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>