Title: Nachricht
we had this already... but still wrong on CVS.
 
in build.xml line 57
 
<property name="phoenix-client.jar" value="${lib.dir}/phoenix-client-20020126.jar"/>
 
should be
 
<property name="phoenix-client.jar" value="${lib.dir}/phoenix-client-20020226.jar"/>
 
why not simply add all jars in lib dir to classpath? could have a single lib dir with all newest libs in it.
 
Nils
<?xml version="1.0"?>

<project name="Avalon Cornerstone" 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="cornerstone"/>
  <property name="Name" value="Cornerstone"/>
  <property name="version" value="0.7"/>
  <property name="year" value="1999-2001"/>

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

  <!-- Set the installation variables for Cornerstone/Phoenix -->
  <property name="phoenix.home" value="../jakarta-avalon-phoenix/dist"/>
  <property name="install.dir" value="${phoenix.home}"/>

  <!-- 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.testdocs" value="${build.docs}/test"/>
  <property name="build.reports" value="${build.dir}/reports"/>
  <property name="build.xdocs" value="${build.dir}/xdocs"/>
  <property name="build.context" value="${build.dir}/documentation"/>

  <!-- Set the properties for source directories -->
  <property name="src.dir" value="src"/>
  <property name="lib.dir" value="lib"/>
  <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="tools.dir" location="../jakarta-avalon/tools"/>
  <property name="docs.dir" value="docs"/>
  <property name="www.dir" value="../jakarta-avalon-site/docs/cornerstone"/>
  <property name="avalon.skin" value="${tools.dir}/lib/jakarta-style.jar"/>
  <property name="xdocs.dir" value="${src.dir}/xdocs"/>
  <property name="context.dir" value="../jakarta-avalon/src/documentation"/>

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

  <property name="xerces.jar" value="${tools.dir}/lib/xerces.jar"/>
  <property name="logkit.jar" value="${lib.dir}/logkit-1.0.1.jar"/>
  <property name="framework.jar" value="${lib.dir}/avalon-framework-4.1.2.jar"/>
  <property name="excalibur.jar" value="${lib.dir}/avalon-excalibur-4.1.jar"/>
  <property name="scratchpad.jar" value="${lib.dir}/avalon-scratchpad-4.1.jar"/>
  <property name="phoenix-client.jar" value="${lib.dir}/phoenix-client-20020226.jar"/>
  <property name="junit.jar" value="${tools.dir}/lib/junit-3.7.jar"/>
  <property name="tools.jar" value="${java.home}/../lib/tools.jar"/>

  <path id="project.class.path">
    <pathelement location="${framework.jar}"/>
    <pathelement location="${excalibur.jar}"/>
    <pathelement location="${scratchpad.jar}"/>
    <pathelement location="${logkit.jar}"/>
    <pathelement location="${junit.jar}"/>
    <pathelement location="${xerces.jar}"/>
    <pathelement location="${phoenix-client.jar}"/>
    <pathelement path="${java.class.path}" />
    <fileset dir="${lib.dir}">
      <include name="*.jar" />
      <exclude name="phoenix-client*.jar"/>
      <exclude name="avalon-*"/>
      <exclude name="logkit*.jar"/>
    </fileset>
    <pathelement path="${build.classes}" />
  </path>

  <path id="tools.class.path">
    <pathelement location="${junit.jar}"/>
    <pathelement location="${tools.jar}"/>
    <fileset dir="${tools.dir}/lib"/>
    <fileset dir="${tools.dir}/ext"/>
  </path>

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

  <!-- Main target -->
  <target name="main" depends="jars" description="Generates the files minus documentation">
    <ant antfile="build.xml" dir="apps/overlord" target="main"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/simpleserver" target="main"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/xcommander" target="main"
         inheritall="false"/>
  </target>

  <target name="all" depends="main,docs" description="Generates the files including documentation"/>

  <!-- Help on usage -->
  <target name="help" depends="usage"/>
  <target name="usage">
    <echo message="Run ant -projecthelp to get a list of targets to run"/>
  </target>

  <!-- COmpile the project -->
  <target name="compile">

    <available property="jsse.present"
        classname="javax.net.ssl.SSLServerSocket"
        classpathref="project.class.path"/>

    <available classname="electric.registry.Registry"
        classpathref="project.class.path"
        property="glue.present"/>

    <available classname="javax.xml.parsers.DocumentBuilderFactory"
        classpathref="project.class.path"
        property="DocumentBuilderFactory.present"/>

    <available classname="javax.xml.parsers.SAXParserFactory"
        classpathref="project.class.path"
        property="SAXParserFactory.present"/>

    <available classname="java.beans.XMLDecoder"
        classpathref="project.class.path"
        property="LTPJB.present"/>

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

    <javac srcdir="${java.dir}"
           destdir="${build.classes}"
           debug="${build.debug}"
           optimize="${build.optimize}"
           deprecation="${build.deprecation}">
      <classpath refid="project.class.path" />
      <src path="${test.dir}"/>
      <exclude name="org/apache/avalon/cornerstone/blocks/sockets/TLSServerSocketFactory.java"
               unless="jsse.present" />
      <exclude name="org/apache/avalon/cornerstone/blocks/soapification/glue/**.java"
               unless="glue.present" />
      <exclude name="org/apache/avalon/cornerstone/blocks/dom/**.java"
               unless="DocumentBuilderFactory.present" />
      <exclude name="org/apache/avalon/cornerstone/services/dom/**.java"
               unless="DocumentBuilderFactory.present" />
      <exclude name="org/apache/avalon/cornerstone/blocks/sax/**.java"
               unless="SAXParserFactory.present" />
      <exclude name="org/apache/avalon/cornerstone/services/sax/**.java"
               unless="SAXParserFactory.present" />
      <exclude name="org/apache/avalon/cornerstone/blocks/masterstore/xml/**.java"
               unless="LTPJB.present" />


    </javac>

    <copy todir="${build.classes}">
      <fileset dir="${java.dir}">
        <include name="**/*.xinfo"/>
      </fileset>
    </copy>

  </target>

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

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

    <jar file="${build.lib}/cornerstone.jar"
         basedir="${build.classes}"
         manifest="${manifest.dir}/cornerstone.mf">
      <include name="org/apache/avalon/cornerstone/blocks/**"/>
      <include name="org/apache/avalon/cornerstone/services/**"/>
    </jar>

  </target>

  <target name="xdoclet" description="Generates the XML descriptors">
    <ant antfile="gen-blockinfo.xml"/>
  </target>

  <!-- Performs unit tests -->
  <target name="test" depends="check"/>
  <target name="check" depends="compile" >
    <mkdir dir="${build.reports}"/>

    <echo message="Performing Unit Tests" />
    <junit fork="true" printsummary="yes" dir="${build.reports}">
      <formatter type="plain"/>
      <classpath>
        <path refid="test.class.path"/>
        <pathelement location="${build.classes}"/>
      </classpath>
      <batchtest todir="${build.reports}">
        <fileset dir="${build.classes}">
          <exclude name="**/test/Abstract*TestCase.class"/>
          <include name="**/test/*TestCase.class"/>
        </fileset>
      </batchtest>
    </junit>

  </target>


  <target name="test-report" depends="compile" >
    <mkdir dir="${build.testdocs}"/>
    <mkdir dir="${build.reports}"/>

    <echo message="Performing Unit Tests" />
    <junit fork="true" printsummary="yes" dir="${build.reports}">
      <formatter type="xml"/>
      <classpath>
        <path refid="test.class.path"/>
        <pathelement location="${build.classes}"/>
      </classpath>
      <batchtest todir="${build.reports}">
        <fileset dir="${build.classes}">
          <exclude name="**/test/Abstract*TestCase.class"/>
          <include name="**/test/*Profile.class" if="test.profile"/>
          <include name="**/test/*TestCase.class"/>
        </fileset>
      </batchtest>
    </junit>

    <junitreport todir="${build.reports}">
      <fileset dir="${build.reports}">
        <include name="TEST-*.xml"/>
      </fileset>
      <report format="frames" todir="${build.testdocs}"/>
    </junitreport>
  </target>

  <!-- Create the API documentation -->
  <target name="javadocs" description="Generates the Java Docs">

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

    <javadoc packagenames="org.*"
             sourcepath="${java.dir}"
             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="-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 printer friendly documentation -->
  <target name="printerdocs" description="Generates the printer-friendly Docs">
    <echo message="Printer friendly docs are not yet implemented"/>
  </target>

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

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

    <!-- Base pointers for non-xdocs documentation. Override these
         in .ant.properties to link to local docs -->
    <property name="avalon.base" value="http://jakarta.apache.org/avalon"/>
    <property name="framework.base" value="http://jakarta.apache.org/avalon/framework"/>
    <property name="phoenix.base" value="http://jakarta.apache.org/avalon/phoenix"/>
    <property name="cornerstone.base" value="http://jakarta.apache.org/avalon/cornerstone"/>
    <property name="logkit.base" value="http://jakarta.apache.org/avalon/logkit"/>
    <property name="testlet.base" value="http://jakarta.apache.org/avalon/testlet"/>

    <filter token="year" value="${year}"/>
    <filter token="AVALON_BASE" value="${avalon.base}"/>
    <filter token="FRAMEWORK_BASE" value="${framework.base}"/>
    <filter token="PHOENIX_BASE" value="${phoenix.base}"/>
    <filter token="CORNERSTONE_BASE" value="${cornerstone.base}"/>
    <filter token="LOGKIT_BASE" value="${logkit.base}"/>
    <filter token="TESTLET_BASE" value="${testlet.base}"/>

    <copy todir="${build.context}" filtering="on">
      <fileset dir="${context.dir}">
        <exclude name="resources/**"/>
        <exclude name="xdocs"/>
      </fileset>
    </copy>

    <copy todir="${build.context}/xdocs" filtering="on" overwrite="yes">
      <fileset dir="${xdocs.dir}"/>
    </copy>

    <copy todir="${build.context}/resources" filtering="off" overwrite="yes">
      <fileset dir="${context.dir}/resources"/>
      <fileset dir="${xdocs.dir}">
        <include name="**/images/**"/>
      </fileset>
    </copy>

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

    <java classname="org.apache.cocoon.Main" fork="true">
      <arg value="-c${build.context}/"/>
      <arg value="-d${docs.dir}"/>
      <arg value="-w${build.dir}/work"/>
      <arg value="-l${build.dir}/work/cocoon.log"/>
      <arg value="-uINFO"/>
      <arg value="-f${xdocs.dir}/cornerstone.uris"/>
      <classpath refid="tools.class.path"/>
    </java>

    <!--
      This is needed as Cocoon tries to resolve all references during styling.
      The apps xdocs are only generated in subsequent steps.
    -->

    <replace file="${docs.dir}/apps.html" token="@link1@" value="&lt;a"/>
    <replace file="${docs.dir}/apps.html" token="@link2@" value="&gt;"/>
    <replace file="${docs.dir}/apps.html" token="@link3@" value="&lt;/a&gt;"/>

  </target>

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

  <!-- Create the binary distribution -->
  <target name="bin-dist" depends="all">

    <!-- bin.dist.dir usually already specified -->
    <property name="bin.dist.dir" value="dist"/>
    <property name="bin.dist.docs" value="${bin.dist.dir}/docs"/>


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

    <copy file="${build.lib}/cornerstone.jar" tofile="${bin.dist.dir}/cornerstone-${version}.jar"/>

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

  <!-- Create the source distribution -->
  <target name="src-dist" depends="docs">

    <!-- src.dist.dir usually already specified -->
    <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.lib" value="${src.dist.dir}/lib"/>
    <property name="src.dist.tools" value="${src.dist.dir}/tools"/>

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

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

    <copy file="${logkit.jar}" todir="${src.dist.lib}"/>
    <copy file="${framework.jar}" todir="${src.dist.lib}"/>
    <copy file="${excalibur.jar}" todir="${src.dist.lib}"/>
    <copy file="${phoenix-client.jar}" todir="${src.dist.lib}"/>

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

    <copy todir="${src.dist.dir}/apps">
      <fileset dir=".">
        <include name="apps/*/src/**"/>
        <include name="apps/*/build.xml"/>
        <include name="apps/*/lib/**"/>
      </fileset>
    </copy>

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

    <copy todir="${src.dist.dir}">
      <fileset dir=".">
        <include name="README.txt"/>
        <include name="WARNING"/>
        <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" eol="lf"/>
    <fixcrlf srcdir="${src.dist.dir}" includes="build.bat" eol="crlf"/>
    <fixcrlf srcdir="${src.dist.tools}/bin" includes="*.sh" eol="lf"/>
    <fixcrlf srcdir="${src.dist.tools}/bin" includes="ant" eol="lf"/>
    <fixcrlf srcdir="${src.dist.tools}/bin" includes="antRun" eol="lf"/>
    <fixcrlf srcdir="${src.dist.tools}/bin" includes="*.bat" eol="crlf"/>

    <chmod perm="+x">
      <fileset dir="${src.dist.dir}">
        <include name="build.sh" />
      </fileset>
    </chmod>

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

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

  </target>

  <!-- Distribute Applications as apps subdir of distributions/ -->
  <target name="distributions-apps" depends="jars">
    <copy todir="${dist.base}/phoenix-apps" flatten="true">
      <fileset dir="apps">
        <include name="*/dist/*.sar"/>
      </fileset>
    </copy>
  </target>

  <!-- Completely build all dists -->
  <target name="dist" description="Generates the distribution">

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

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

    <zip file="${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="avalon" group="avalon">
        <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" inheritall="false">
      <param name="src.dist.dir" value="${dist.name}" />
    </antcall>

    <zip file="${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="avalon" group="avalon">
        <include name="${dist.name}/build.sh"/>
      </tarfileset>
      <tarfileset dir="${dist.name}/.." username="avalon" group="avalon">
        <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}" />

    <mkdir dir="${dist.base}/phoenix-apps"/>

    <ant antfile="build.xml" dir="apps/overlord" target="dist"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/simpleserver" target="dist"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/xcommander" target="dist"
         inheritall="false"/>

    <antcall target="distributions-apps" inheritall="false">
      <param name="dist.dir" value="${dist.name}" />
    </antcall>

  </target>

  <target name="install" depends="main" description="Installs Cornerstone into Phoenix">

    <!-- <copy file="${build.lib}/cornerstone.jar" tofile="${install.dir}/cornerstone.jar"/> -->
    <ant antfile="build.xml" dir="apps/demo" target="install" inheritall="false"/>
  </target>

  <target name="uninstall" description="Uninstalls Cornerstone into Phoenix">
    <!-- <delete file="${install.dir}/cornerstone.jar"/> -->
    <ant antfile="build.xml" dir="apps/demo" target="uninstall" inheritall="false"/>
  </target>

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

    <mkdir dir="${www.dir}"/>

    <!-- 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>

  <!-- Cleans up build and distribution directories -->
  <target name="clean" description="Cleans up artifacts from build process">
    <delete dir="${build.dir}" />
    <delete>
      <fileset dir="." includes="**/*~" defaultexcludes="no"/>
    </delete>

    <ant antfile="build.xml" dir="apps/overlord" target="clean"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/simpleserver" target="clean"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/xcommander" target="clean"
         inheritall="false"/>
  </target>

  <!-- Cleans absolutely everything up -->
  <target name="distclean" depends="clean" description="Cleans up all genereated files and directories">
    <delete dir="${docs.dir}" />
    <delete dir="${dist.base}" />

    <ant antfile="build.xml" dir="apps/overlord" target="distclean"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/simpleserver" target="distclean"
         inheritall="false"/>
    <ant antfile="build.xml" dir="apps/xcommander" target="distclean"
         inheritall="false"/>
  </target>


  <!-- Delegated (to apps/xxxxxx) Targets -->

  <target name="overlord" depends="compile" description="Delegates to build.xml in apps/overlord">
    <ant antfile="build.xml" dir="apps/overlord" target="${apps-target}" inheritall="false"/>
  </target>
  <target name="simpleserver" depends="compile" description="Delegates to build.xml in apps/simpleserver">
    <ant antfile="build.xml" dir="apps/simpleserver" target="${apps-target}" inheritall="false"/>
  </target>
  <target name="xcommander" depends="compile" description="Delegates to build.xml in apps/xcommander">
    <ant antfile="build.xml" dir="apps/xcommander" target="${apps-target}" inheritall="false"/>
  </target>

</project>

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

Reply via email to