It works without ant.
It works without ant and junit.

I use ant.jar in avalon CVS.
my build.xml is attached.

Thanks.
<?xml version="1.0"?>

<!--

 Phoenom build file

Authors:
 Federico Barbieri <[EMAIL PROTECTED]>
 Berin Loritsch <[EMAIL PROTECTED]>
 Peter Donald <[EMAIL PROTECTED]>

Legal:
  Copyright (c) 1999-2000 The Apache Software Foundation. All Rights Reserved.

==============================================================================
-->

<project default="main" basedir=".">

  <!--
    Give user a chance to override without editing this file
    (and without typing -D each time he compiles it)
  -->
  <property file=".ant.properties"/>
  <property file="${user.home}/.ant.properties"/>

  <property name="name" value="tne"/>
  <property name="griffin.name" value="griffin"/>
  <property name="legacy.name" value="legacy"/>
  <property name="cbo-core.name" value="cbo-core"/>
  <property name="cbo-post.name" value="cbo-post"/>
  <property name="cbo-poll.name" value="cbo-poll"/>
  <property name="cbo-club.name" value="cbo-club"/>
  <property name="Name" value="The Neolithic Era"/>
  <property name="version" value="1.0-dev"/>
  <property name="year" value="2000-2001"/>

  <!--
    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.warnings" value="true"/>
  <property name="build.compiler.pedantic" value="true"/>
  <property name="build.compiler.depend" value="true"/>
  <property name="build.compiler.fulldepend" value="true"/>

  <property name="debug" value="on"/>
  <property name="optimize" value="off"/>
  <property name="deprecation" value="off"/>

  <!--
       ===================================================================
       Set the properties for intermediate directory
       ===================================================================
  -->
  <property name="build.dir" value="build"/>
  <property name="build.lib" value="${build.dir}/lib"/>
  <property name="build.src" value="${build.dir}/src"/>
  <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"/>

  <!--
       ===================================================================
       Set the properties for source directories
       ===================================================================
  -->
  <property name="src.dir" value="src"/>
  <property name="java.dir" value="${src.dir}/java"/>
  <property name="test.dir" value="${src.dir}/test"/>
  <property name="manifest.dir" value="${src.dir}/manifest"/>
  <property name="conf.dir" value="${src.dir}/conf"/>
  <property name="compat.dir" value="${src.dir}/compat"/>
  <property name="proposal.dir" value="proposal/4.0/src/java"/>
  <property name="lib.dir" value="lib"/>
  <property name="tools.dir" value="tools"/>
  <property name="docs.dir" value="docs"/>
  <property name="www.dir" value="www"/>
  <property name="javadocs.dir" value="${docs.dir}/framework/api"/>
  <property name="skins.dir" value="${src.dir}/skins"/>
  <property name="xdocs.dir" value="${src.dir}/xdocs"/>
  <property name="stylesheets.dir" value="${skins.dir}"/>

  <property name="dist.name" value="${Name}-${version}"/>
  <property name="dist.base" value="distributions"/>

  <property name="griffin.constants.file" value="org/apache/avalon/griffin/engine/Constants.java"/>
  <property name="logkit.jar" value="${lib.dir}/logkit.jar"/>
  <property name="xerces.jar" value="${lib.dir}/xerces.jar"/>

  <!-- Jakarta Avalon -->
  <property name="framework.jar" value="${lib.dir}/avalon-framework-4.0b2.jar"/>
  <property name="excalibur.jar" value="${lib.dir}/avalon-excalibur-4.0b2.jar"/>
  <property name="scratchpad.jar" value="${lib.dir}/avalon-scratchpad-4.0b2.jar"/>
  <property name="cornerstone.bar" value="${lib.dir}/cornerstone.bar"/>
  <!-- ETC -->
  <property name="servlet.jar" value="${lib.dir}/servlet_2_2.jar"/>

  <path id="project.class.path">
    <pathelement path="${java.class.path}" />
    <fileset dir="${lib.dir}">
      <include name="*.jar" />
      <include name="*.bar" />
    </fileset>
    <pathelement path="${build.classes}" />
  </path>

  <path id="tools.class.path">
    <fileset dir="${tools.dir}/lib">
      <include name="*.jar" />
    </fileset>
  </path>

  <path id="test.class.path">
    <path refid="tools.class.path"/>
    <path refid="project.class.path"/>
  </path>

  <!-- Main target -->
  <target name="main" depends="jar" />

  <!-- 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="   jar          -> generates the ${Name} jar files"/>
    <echo message="   test         -> perform unit tests"/>
    <echo message="   compile      -> compiles the source code"/>
    <echo message="   javadocs     -> generates the API documentation (java 1.2+ only)"/>
    <echo message="   docs         -> generates the ${Name} Documentation"/>
    <echo message="   main         -> generates the ${Name} distribution without the javadocs (default)"/>
    <echo message="   dist         -> generates the ${Name} distribution"/>
    <echo message="   clean        -> cleans up the created directories"/>
    <echo message="   real-clean   -> cleans up all genereated files and directories"/>
    <echo message="   proposal     -> generates the ${Name} proposal distribution without the javadocs"/>
    <echo message=""/>
    <echo message="-------------------------------------------------------------"/>
    <echo message=""/>
  </target>

  <target name="help" depends="usage"/>

  <target name="dump-info">
    <echo message="java.vm.info=${java.vm.info}" />
    <echo message="java.vm.name=${java.vm.name}" />
    <echo message="java.vm.vendor=${java.vm.vendor}" />
    <echo message="java.vm.version=${java.vm.version}" />
    <echo message="os.arch=${os.arch}" />
    <echo message="os.name=${os.name}" />
    <echo message="os.version=${os.version}" />
    <echo message="file.encoding=${file.encoding}" />
    <echo message="user.language=${user.language}" />
  </target>

  <!-- Set up dist properties -->
  <target name="setup-properties" depends="dump-info">
    <property name="dist.dir" value="dist"/>
    <property name="dist.bin" value="${dist.dir}/bin"/>
    <property name="dist.apps" value="${dist.dir}/apps"/>
    <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 -->
  <target name="prepare" depends="setup-properties">
    <tstamp/>
    <mkdir dir="${build.src}"/>
    <copy todir="${build.src}">
      <fileset dir="${java.dir}">
        <include name="${griffin.constants.file}"/>
      </fileset>
    </copy>

    <!--
    <replace file="${build.src}/${griffin.constants.file}" token="@@NAME@@" value="${Name}"/>
    <replace file="${build.src}/${griffin.constants.file}" token="@@VERSION@@" value="${version}"/>
    <replace file="${build.src}/${griffin.constants.file}" token="@@DATE@@" value="${TODAY}"/>
    -->
  </target>

  <!-- Compiles the source code -->
  <target name="compile" depends="prepare">

    <mkdir dir="${build.classes}"/>

<!--
    <depend closure="yes"
            cache="${dep}"
            srcdir="${java.dir}"
            destdir="${build.classes}" />
-->

    <javac srcdir="${java.dir}"
           destdir="${build.classes}"
           debug="${debug}"
           optimize="${optimize}"
           deprecation="${deprecation}">
      <classpath refid="project.class.path" />
      <src path="${build.src}"/>
      <src path="${test.dir}"/>
      <exclude name="${griffin.constants.file}"/>
    </javac>

  </target>

  <!-- Prepares the documentation directory -->
  <target name="xdocs">

    <mkdir dir="${build.xdocs}"/>
    <mkdir dir="${build.docs}"/>

    <copy todir="${build.xdocs}" filtering="yes">
      <fileset dir="${xdocs.dir}">
        <exclude name="**/images/**"/>
      </fileset>
    </copy>

    <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
      <classpath>
        <path refid="tools.class.path"/>
      </classpath>
    </taskdef>

    <anakia basedir="${build.xdocs}" destdir="${build.docs}"
      extension=".html"
      style="./site.vsl"
      projectFile="stylesheets/project.xml"
      lastModifiedCheck="false"
      templatePath="${build.xdocs}/stylesheets"
      excludes="**/stylesheets/** **/xsl/**"
      includes="**/*.xml">
    </anakia>

    <copy todir="${build.docs}/images" filtering="no">
      <fileset dir="${xdocs.dir}/images">
        <include name="**/**"/>
      </fileset>
    </copy>

  </target>

  <!--
       ===================================================================
       Create the API documentation
       ===================================================================
  -->
  <target name="javadocs">

    <delete dir="${build.javadocs}"/>
    <mkdir dir="${build.javadocs}"/>

    <javadoc packagenames="org.avalon.*,org.zact.*"
             sourcepath="${java.dir}"
             destdir="${build.javadocs}">
      <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 ISOFT Inc. All Rights Reserved.&quot;"/>
      </doclet>
    </javadoc>

  </target>

  <!--
       ===================================================================
       Create the Local site documentation
       ===================================================================
  -->
  <target name="local-xdocs" depends="xdocs">

    <delete>
      <fileset dir="${docs.dir}">
        <exclude name="api/**"/>
      </fileset>
    </delete>
    <mkdir dir="${docs.dir}"/>

    <copy todir="${docs.dir}">
      <fileset dir="${build.docs}" />
    </copy>

  </target>

  <!--
       ===================================================================
       Create the Local API documentation
       ===================================================================
  -->
  <target name="local-javadocs" depends="javadocs">

    <delete dir="${javadocs.dir}"/>
    <mkdir dir="${javadocs.dir}"/>

    <copy todir="${javadocs.dir}">
      <fileset dir="${build.javadocs}" />
    </copy>

  </target>

  <target name="local-docs" depends="local-javadocs,local-xdocs"/>

  <!--
       ===================================================================
       Update the www directory
       ===================================================================
  -->
  <target name="site-docs" depends="local-docs">

    <!-- delete all old documents but keep CVS directories -->
    <!-- note that by doing an include the defaultexcludes (CVS dirs) will be kept -->
    <delete>
      <fileset dir="${www.dir}">
        <include name="**"/>
      </fileset>
    </delete>

    <mkdir dir="${www.dir}"/>
    <copy todir="${www.dir}">
      <fileset dir="${docs.dir}" />
    </copy>

  </target>

  <!--
       ===================================================================
                           Creates all the .jar files
       ===================================================================
  -->
  <target name="jar" depends="compile">

    <mkdir dir="${build.lib}"/>

    <jar jarfile="${build.lib}/${griffin.name}.jar" basedir="${build.classes}"
      manifest="${manifest.dir}/${griffin.name}.mf">
      <include name="org/apache/avalon/griffin/**"/>
      <exclude name="**/test"/>
      <exclude name="**/test/*"/>
    </jar>
    <jar jarfile="${build.lib}/${legacy.name}.bar" basedir="${build.classes}"
      manifest="${manifest.dir}/${legacy.name}.mf">
      <include name="org/apache/avalon/cornerstone/**"/>
      <exclude name="**/test"/>
      <exclude name="**/test/*"/>
    </jar>
    <jar jarfile="${build.lib}/${cbo-core.name}.bar" basedir="${build.classes}"
      manifest="${manifest.dir}/${cbo-core.name}.mf">
      <include name="org/zact/cbo/**"/>
      <exclude name="**/test"/>
      <exclude name="**/test/*"/>
    </jar>
  </target>

  <target name="test" depends="jar">
    <junit>
      <!--jvmarg value="-Djava.compiler=NONE"/-->
      <classpath refid="test.class.path"/>
      <formatter type="plain" usefile="false"/>

      <batchtest>
        <fileset dir="${build.classes}">
          <include name="**/*Test.class"/>
        </fileset>
      </batchtest>
    </junit>
  </target>

  <target name="install" depends="jar,install-check-cjan">

    <mkdir dir="${cjan.lib}" />
    <copy file="${build.lib}/${griffin.name}.jar" todir="${cjan.lib}"/>
    <copy file="${build.lib}/${legacy.name}.jar" todir="${cjan.lib}"/>
    <copy file="${build.lib}/${cbo-core.name}.jar" todir="${cjan.lib}"/>

  </target>

  <target name="install-check-cjan" unless="cjan.lib">
    <fail message="cjan.lib not specified." />
  </target>

  <!--
       ===================================================================
                            Create the distribution
       ===================================================================
  -->
  <target name="dist" depends="jar,javadocs,xdocs">

    <mkdir dir="${dist.dir}"/>
    <copy file="${build.lib}/${griffin.name}.jar" tofile="${dist.dir}/${griffin.name}-${version}.jar"/>
    <copy file="${build.lib}/${legacy.name}.jar" tofile="${dist.dir}/${legacy.name}-${version}.jar"/>
    <copy file="${build.lib}/${cbo-core.name}.jar" tofile="${dist.dir}/${cbo-core.name}-${version}.jar"/>

    <mkdir dir="${dist.docs}"/>
    <mkdir dir="${dist.javadocs}"/>

    <copy todir="${dist.docs}">
      <fileset dir="${build.docs}"/>
    </copy>

    <copy todir="${dist.javadocs}">
      <fileset dir="${build.javadocs}"/>
    </copy>

    <copy todir="${dist.dir}">
      <fileset dir=".">
        <include name="README"/>
        <include name="LICENSE"/>
      </fileset>
    </copy>

    <chmod dir="${dist.dir}" perm="go-rwx" />

  </target>

  <!--
       ===================================================================
                            Create the source distribution
       ===================================================================
  -->
  <target name="src-dist" depends="xdocs,setup-properties">

    <mkdir dir="${src.dist.dir}" />

    <copy todir="${src.dist.tools}">
      <fileset dir="${tools.dir}"/>
    </copy>

    <copy todir="${src.dist.lib}">
      <fileset dir="${lib.dir}">
        <include name="bytecode.jar" />
<!--
        <include name="xerces.jar" />
        <include name="logkit.jar" />
-->
      </fileset>
    </copy>

    <copy file="${logkit.jar}" tofile="${src.dist.lib}/logkit.jar"/>
    <copy file="${xerces.jar}" tofile="${src.dist.lib}/xerces.jar"/>

    <copy todir="${src.dist.src}">
      <fileset dir="${src.dir}"/>
    </copy>

    <copy todir="${src.dist.docs}">
      <fileset dir="${build.docs}"/>
    </copy>

    <copy todir="${src.dist.javadocs}">
      <fileset dir="${build.javadocs}"/>
    </copy>

    <copy todir="${src.dist.dir}">
      <fileset dir=".">
        <include name="README"/>
        <include name="LICENSE"/>
        <include name="build.bat"/>
        <include name="build.sh"/>
        <include name="build.xml"/>
      </fileset>
    </copy>

    <fixcrlf srcdir="${src.dist.dir}" includes="build.sh" cr="remove"/>
    <fixcrlf srcdir="${src.dist.dir}" includes="build.bat" cr="add"/>
    <chmod perm="+x">
      <fileset dir="${src.dist.dir}">
        <include name="build.sh" />
      </fileset>
    </chmod>

    <fixcrlf srcdir="${src.dist.src}/java" includes="**/*.java" cr="remove"/>

    <chmod dir="${src.dist.dir}" perm="go-rwx" />

  </target>

  <!--
       ===================================================================
                 Completely build all dists
       ===================================================================
  -->
  <target name="distributions">
    <mkdir dir="${dist.base}"/>

    <antcall target="dist">
      <param name="dist.dir" value="${dist.name}" />
    </antcall>

    <zip zipfile="${dist.base}/${dist.name}-bin.zip"
         basedir="${dist.name}/.."
         includes="${dist.name}/**"/>

    <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-bin.tar">
      <tarfileset dir="${dist.name}/.." username="${name}" group="${name}">
        <include name="${dist.name}/**"/>
      </tarfileset>
    </tar>

    <gzip zipfile="${dist.base}/${dist.name}-bin.tar.gz"
          src="${dist.base}/${dist.name}-bin.tar"/>

    <delete file="${dist.base}/${dist.name}-bin.tar"/>
    <delete dir="${dist.name}" />

    <antcall target="src-dist">
      <param name="src.dist.dir" value="${dist.name}" />
    </antcall>

    <zip zipfile="${dist.base}/${dist.name}-src.zip"
         basedir="${dist.name}/.."
         includes="${dist.name}/**"/>

    <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-src.tar" >
      <tarfileset dir="${dist.name}/.." mode="755" username="${name}" group="${name}">
        <include name="${dist.name}/build.sh"/>
      </tarfileset>
      <tarfileset dir="${dist.name}/.." username="${name}" group="${name}">
        <include name="${dist.name}/**"/>
        <exclude name="${dist.name}/build.sh"/>
      </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>

  <!--
       ===================================================================
                 Cleans up build and distribution directories
       ===================================================================
  -->
  <target name="clean" depends="setup-properties">
    <delete dir="${build.dir}" />
    <delete dir="${dist.dir}" />
    <delete>
      <fileset dir="." includes="**/*~" defaultexcludes="no"/>
    </delete>
  </target>

  <!--
       ===================================================================
                      Cleans absolutely everything up
       ===================================================================
  -->
  <target name="real-clean" depends="clean">
    <delete dir="${docs.dir}" />
    <delete dir="${dist.base}" />
  </target>

</project>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to