Peter M. Goldstein wrote:
A quick test of both new src distributions shows build successful for the 'with-phoenix' dist. Without phoenix has an error in build.xml (line 175), where it will try to do a fixcrlf on dist/bin, which has not yet been created.Please let me know if this doesn't resolve your problems. Thanks.
Here is a working version.
Cheers
ADK
<?xml version="1.0"?>
<!-- ==========================================================================
James build file $Revision: 1.115 $ Committed on $Date: 2002/12/14 20:41:36 $ by: $Author: pgoldstein $
Authors:
Federico Barbieri <[EMAIL PROTECTED]>
Serge
Charles Benett <[EMAIL PROTECTED]>
Peter Donald <[EMAIL PROTECTED]>
Harmeet Bedi <[EMAIL PROTECTED]>
Danny Angus <[EMAIL PROTECTED]>
Peter M. Goldstein <[EMAIL PROTECTED]>
Legal:
Copyright (c) 1999-2002 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="james"/>
<property name="Name" value="James"/>
<property name="version" value="2.1"/>
<property name="year" value="1999-2002"/>
<!-- There should be no need to override default compiler but need to change
javac task to run without this -->
<property name="build.compiler" value="modern"/>
<!--
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="debug" value="on"/>
<property name="optimize" value="on"/>
<property name="deprecation" value="off"/>
<!--
===================================================================
Set the properties for proposal directories
===================================================================
-->
<property name="proposal.base" value="proposals"/>
<property name="proposal.dir" value="${proposal.base}/${proposal.name}"/>
<property name="java.proposal.dir" value="${proposal.dir}/java"/>
<property name="conf.proposal.dir" value="${proposal.dir}/conf"/>
<!--
===================================================================
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.mailetdocs" value="${build.dir}/mailetdocs"/>
<property name="build.conf" value="${build.dir}/conf"/>
<!--
===================================================================
Set the properties for source directories and parameters
===================================================================
-->
<property name="src.dir" value="src"/>
<property name="java.dir" value="${src.dir}/java"/>
<property name="conf.dir" value="${src.dir}/conf"/>
<property name="xdocs.dir" value="${src.dir}/xdocs"/>
<property name="docs.src" value="${xdocs.dir}"/>
<property name="constants.file" value="org/apache/james/Constants.java"/>
<property name="poolconn.file" value="org/apache/james/util/mordred/PoolConnEntry.java"/>
<!--
===================================================================
Set the properties for the distribution directories
===================================================================
-->
<property name="dist.base" value="dist"/>
<property name="dist.name" value="${name}-${version}"/>
<property name="dist.dir" value="${dist.base}/${dist.name}"/>
<!--
===================================================================
Third party binary directories
===================================================================
-->
<property name="lib.dir" value="lib"/>
<property name="phoenix.dir" value="phoenix-bin"/>
<property name="phoenix.lib.dir" value="${phoenix.dir}/lib"/>
<!--
===================================================================
Set the properties for the website directories
===================================================================
-->
<property name="www.dir" value="www"/>
<!--
===================================================================
Set the classpath
===================================================================
-->
<property name="xerces.jar" value="${lib.dir}/xerces-1.4.3.jar"/>
<!--
<property name="activation.jar" value="${lib.dir}/activation.jar"/>
-->
<path id="project.class.path">
<pathelement location="${xerces.jar}"/>
<pathelement path="${java.class.path}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
<exclude name="xerces.jar"/>
</fileset>
<fileset dir="${phoenix.lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement path="${build.classes}"/>
</path>
<taskdef name="sar" classname="org.apache.avalon.phoenix.tools.tasks.Sar">
<classpath refid="project.class.path"/>
</taskdef>
<!--
===================================================================
Main target
===================================================================
-->
<target name="main" depends="dist-lite"/>
<!--
===================================================================
Prepare
===================================================================
-->
<target name="prepare">
<echo message="preparing code"/>
<tstamp/>
<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"/>
<available property="jdbc3.present" classname="java.sql.Savepoint"/>
<mkdir dir="${dist.bin}"/>
<copy todir="${dist.dir}">
<fileset dir="${phoenix.dir}">
<exclude name="CVS/**"/>
</fileset>
<fileset dir=".">
<include name="release-notes.txt"/>
<include name="LICENSE.txt"/>
<include name="README"/>
</fileset>
</copy>
<fixcrlf srcdir="${java.dir}" includes="**/*.java" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${java.dir}" includes="**/*.minfo" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${java.dir}" includes="**/*.xinfo" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${java.dir}" includes="**/*.html" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${xdocs.dir}" includes="**/*.xml" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${conf.dir}" includes="**/*.xml" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${dist.dir}/bin" includes="run.sh" eol="lf"/>
<fixcrlf srcdir="${dist.dir}/bin" includes="run.bat" eol="crlf"/>
<chmod perm="+x">
<fileset dir="${dist.dir}/bin">
<include name="run.sh"/>
<include name="phoenix.sh"/>
</fileset>
</chmod>
<fixcrlf srcdir="." includes="build.sh" eol="lf"/>
<fixcrlf srcdir="." includes="build.bat" eol="crlf"/>
<chmod perm="+x">
<fileset dir=".">
<include name="build.sh"/>
</fileset>
</chmod>
<available classname="org.apache.velocity.anakia.AnakiaTask" property="AnakiaTask.present"/>
<mkdir dir="${build.src}"/>
<copy todir="${build.src}">
<fileset dir="${java.dir}">
<include name="${constants.file}"/>
<include name="${poolconn.file}"/>
</fileset>
</copy>
<replace file="${build.src}/${constants.file}" token="@@VERSION@@" value="${version}"/>
<replace file="${build.src}/${constants.file}" token="@@NAME@@" value="${Name}"/>
<replace file="${build.src}/${constants.file}" token="@@DATE@@" value="${TODAY}"/>
</target>
<!--
===================================================================
jdbc3
===================================================================
-->
<target name="prepare-jdbc3" depends="prepare" if="jdbc3.present">
<echo message="preparing for JDBC3"/>
<replace file="${build.src}/${poolconn.file}" token="/* JDBC_3_ANT_KEY" value=""/>
<replace file="${build.src}/${poolconn.file}" token="JDBC_3_ANT_KEY */" value=""/>
</target>
<!--
===================================================================
compile
===================================================================
-->
<target name="compile" depends="prepare,prepare-jdbc3">
<echo message="compiling James"/>
<available property="jndi.present" classname="javax.naming.InitialContext"/>
<mkdir dir="${build.classes}"/>
<javac destdir="${build.classes}" debug="${debug}" optimize="${optimize}" deprecation="${deprecation}">
<classpath refid="project.class.path"/>
<src path="${build.src}"/>
<src path="${java.dir}"/>
<exclude name="${constants.file}"/>
<exclude name="${poolconn.file}"/>
<exclude name="org/apache/james/userrepository/UsersLDAPRepository.java" unless="jndi.present"/>
</javac>
<copy todir="${build.classes}">
<fileset dir="${java.dir}">
<include name="**/*.properties"/>
<include name="**/*.xinfo"/>
<include name="**/*.mxinfo"/>
</fileset>
</copy>
</target>
<!--
===================================================================
Javadocs, and mailet javadocs
===================================================================
-->
<target name="javadocs">
<echo message="Making James javadocs"/>
<delete dir="${build.javadocs}"/>
<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="org.apache.*" 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="-breakiterator"/>
<param name="-link" value="http://java.sun.com/j2se/1.4/docs/api"/>
<param name="-link" value="http://java.sun.com/j2ee/sdk_1.3/techdocs/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/phoenix/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/cornerstone/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/logkit/api"/>
<param name="-doctitle" value="${Name} ${version}"/>
<param name="-windowtitle" value="${Name} API"/>
<param name="-bottom" value=""Copyright © ${year} Apache Jakarta Project. All Rights Reserved.""/>
</doclet>
</javadoc>
<echo message="Making Mailet javadocs"/>
<javadoc packagenames="org.apache.mailet.*" sourcepath="${java.dir}" destdir="${build.dir}/mailet">
<classpath refid="project.class.path"/>
<doclet name="com.sun.tools.doclets.standard.Standard">
<param name="-author"/>
<param name="-version"/>
<param name="-breakiterator"/>
<param name="-use"/>
<param name="-link" value="http://java.sun.com/j2se/1.4/docs/api"/>
<param name="-link" value="http://java.sun.com/j2ee/sdk_1.3/techdocs/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/phoenix/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/cornerstone/api"/>
<param name="-link" value="http://jakarta.apache.org/avalon/logkit/api"/>
<param name="-doctitle" value="Apache Jakarta Mailet API"/>
<param name="-windowtitle" value="Apache Jakarta Mailet API"/>
<param name="-bottom" value=""Copyright © ${year} Apache Jakarta Project. All Rights Reserved.""/>
</doclet>
</javadoc>
</target>
<!--
===================================================================
build xdocs
===================================================================
-->
<target name="xdocs" depends="prepare,prepare-jdbc3">
<style style="${docs.src}/stylesheets/site.xsl"
basedir="${docs.src}/"
destdir="${build.docs}/"
includes="**/*.xml" >
</style>
<copy todir="${build.docs}" filtering="no">
<fileset dir="${docs.src}">
<include name="**/*.css"/>
</fileset>
</copy>
<copy todir="${build.docs}/images" filtering="no">
<fileset dir="${docs.src}/images">
<include name="**/*.gif"/>
<include name="**/*.jpeg"/>
<include name="**/*.jpg"/>
</fileset>
</copy>
<mkdir dir="${dist.dir}/docs"/>
<copy todir="${dist.dir}/docs" filtering="no">
<fileset dir="${build.docs}"/>
</copy>
</target>
<!--
===================================================================
build website
===================================================================
-->
<target name="website" depends="xdocs,javadocs">
<echo message="preparing website in ${www.dir}"/>
<delete>
<fileset dir="${www.dir}">
<exclude name="CVS/**"/>
<exclude name="rfclist/**"/>
<exclude name="javadocs/**"/>
<exclude name="mailet/**"/>
</fileset>
</delete>
<mkdir dir="${www.dir}"/>
<copy todir="${www.dir}" filtering="no">
<fileset dir="${build.docs}"/>
</copy>
<copy todir="${www.dir}" filtering="no">
<fileset dir="${build.dir}">
<include name="javadocs/**"/>
<include name="mailet/**"/>
</fileset>
</copy>
<fixcrlf srcdir="${www.dir}" includes="**/*.html" eol="lf" tab="remove" tablength="4" />
<fixcrlf srcdir="${www.dir}" includes="**/*.css" eol="lf" tab="remove" tablength="4" />
</target>
<!--
===================================================================
Build everything
===================================================================
-->
<target name="everything" depends="clean,website,dist-bin,dist-src,dist-mailet-SDK"/>
<!--
===================================================================
Build all distributions
===================================================================
-->
<target name="dist" depends="dist-bin,dist-src,dist-mailet-SDK"/>
<!--
===================================================================
Make james.sar
===================================================================
-->
<target name="sar" depends="prepare,compile">
<echo message="Making James.sar"/>
<!-- builds james-sar-->
<mkdir dir="${build.lib}"/>
<!-- Make james.jar-->
<jar jarfile="${build.lib}/${name}.jar" basedir="${build.classes}" manifest="${src.dir}/Manifest.mf">
<include name="org/apache/james/**"/>
<include name="org/apache/mailet/**"/>
</jar>
<!-- Make sar file-->
<sar sarfile="${build.lib}/${name}.sar" config="${conf.dir}/james-config.xml" environment="${conf.dir}/james-server.xml" assembly="${conf.dir}/james-assembly.xml">
<lib dir="${build.lib}/">
<include name="*.jar"/>
</lib>
<lib dir="lib">
<include name="dnsjava-1.2.3.jar"/>
<include name="jakarta-oro-2.0.1.jar"/>
<include name="mm.mysql-2.0.14.jar"/>
<include name="mm.mysql.LICENCE"/>
<include name="avalon-framework-4.1.3.jar"/>
<include name="cornerstone.jar"/>
<include name="excalibur-datasource-1.0.jar"/>
<include name="activation.jar"/>
<include name="mail_1_2.jar"/>
<include name="commons-net-1.0.0-dev.jar"/>
</lib>
<zipfileset dir="${conf.dir}" fullpath="conf/sqlResources.xml">
<include name="sqlResources.xml"/>
</zipfileset>
</sar>
</target>
<!--
===================================================================
Make dist directory with unpacked dist ready to run
===================================================================
-->
<target name="dist-lite" depends="sar">
<echo message="Installing James to ${dist.dir}"/>
<!--installs sar into ./dist/ ready to test-->
<copy file="${build.lib}/${name}.sar" todir="${dist.dir}/apps"/>
<!-- Make mailet.jar-->
<jar jarfile="${build.lib}/mailet.jar" basedir="${build.classes}" manifest="${src.dir}/Manifest.mf" includes="org/apache/mailet/**"/>
<!-- copy file="${build.lib}/mailet.jar" todir="${dist.dir}/lib"/ -->
</target>
<!--
===================================================================
binary distributions
===================================================================
-->
<target name="dist-bin" depends="dist-lite,xdocs,javadocs">
<echo message ="building binary distributions"/>
<mkdir dir="${dist.dir}/downloads/bin"/>
<!-- binary with phoenix -->
<zip zipfile="${dist.dir}/downloads/bin/${name}-binary-${version}.zip">
<fileset dir="dist">
<include name="${name}-${version}/**"/>
<exclude name="${name}-${version}/downloads/**"/>
<include name="release-notes.txt"/>
<include name="LICENSE.txt"/>
</fileset>
</zip>
<tar longfile="gnu" tarfile="${dist.dir}/downloads/bin/${name}-binary-${version}.tar">
<tarfileset dir="dist" username="${name}" group="${name}">
<include name="${name}-${version}/**"/>
<exclude name="${name}-${version}/downloads/**"/>
<include name="release-notes.txt"/>
<include name="LICENSE.txt"/>
</tarfileset>
</tar>
<gzip zipfile="${dist.dir}/downloads/bin/${name}-binary-${version}.tar.gz" src="${dist.dir}/downloads/bin/${name}-binary-${version}.tar"/>
<delete file="${dist.dir}/downloads/bin/${name}-binary-${version}.tar"/>
<!-- Sar only-->
<copy file="${dist.dir}/apps/${name}.sar" todir="${dist.dir}/downloads/bin"/>
</target>
<!--
===================================================================
source distributions
===================================================================
-->
<target name="dist-src" depends="dist-lite,xdocs,javadocs">
<echo message ="building source distributions"/>
<mkdir dir="${dist.dir}/downloads/src"/>
<zip zipfile="${dist.dir}/downloads/src/${dist.name}-src.zip">
<fileset dir=".">
<include name="src/**"/>
<include name="lib/**"/>
<include name="${phoenix.lib.dir}/**"/>
<include name="proposals/**"/>
<include name="www/**"/>
<include name="tools/**"/>
<include name="*.xml"/>
<include name="*.txt"/>
<include name="README"/>
<include name="KEYS"/>
<include name="build.*"/>
</fileset>
</zip>
<tar longfile="gnu" tarfile="${dist.dir}/downloads/src/${dist.name}-src.tar">
<tarfileset dir="." username="${name}" group="${name}">
<include name="src/**"/>
<include name="lib/**"/>
<include name="${phoenix.lib.dir}/**"/>
<include name="proposals/**"/>
<include name="www/**"/>
<include name="tools/**"/>
<include name="*.xml"/>
<include name="*.txt"/>
<include name="README"/>
<include name="KEYS"/>
<include name="build.*"/>
</tarfileset>
</tar>
<gzip zipfile="${dist.dir}/downloads/src/${dist.name}-src.tar.gz" src="${dist.dir}/downloads/src/${dist.name}-src.tar"/>
<delete file="${dist.dir}/downloads/src/${dist.name}-src.tar"/>
<!--Source With Phoenix -->
<zip zipfile="${dist.dir}/downloads/src/${name}-with-phoenix-${version}-src.zip">
<fileset dir=".">
<include name="${dist.dir}/**"/>
<exclude name="${dist.dir}/downloads/**"/>
<exclude name="${dist.dir}/apps/*.sar"/>
<exclude name=""/>
<include name="*.txt"/>
<include name="*.xml"/>
<include name="KEYS"/>
<include name="README"/>
<include name="build.*"/>
<include name="lib/**"/>
<include name="${phoenix.dir}/**"/>
<include name="proposals/**"/>
<include name="src/**"/>
<include name="tools/**"/>
<include name="www/**"/>
</fileset>
</zip>
<tar longfile="gnu" tarfile="${dist.dir}/downloads/src/${name}-with-phoenix-${version}-src.tar">
<tarfileset dir="." username="${name}" group="${name}">
<include name="${dist.dir}/**"/>
<exclude name="${dist.dir}/downloads/**"/>
<exclude name="${dist.dir}/apps/*.sar"/>
<include name="*.txt"/>
<include name="*.xml"/>
<include name="KEYS"/>
<include name="README"/>
<include name="build.*"/>
<include name="lib/**"/>
<include name="${phoenix.dir}/**"/>
<include name="proposals/**"/>
<include name="src/**"/>
<include name="tools/**"/>
<include name="www/**"/>
</tarfileset>
</tar>
<gzip zipfile="${dist.dir}/downloads/src/${name}-with-phoenix-${version}-src.tar.gz" src="${dist.dir}/downloads/src/${name}-with-phoenix-${version}-src.tar"/>
<delete file="${dist.dir}/downloads/src/${name}-with-phoenix-${version}-src.tar"/>
</target>
<!--
===================================================================
Mailet SDK distribution
===================================================================
-->
<target name="dist-mailet-SDK" depends="dist-lite,xdocs,javadocs">
<echo message ="building mailet SDK distributions"/>
<mkdir dir="${dist.dir}/MailetSDK/src"/>
<mkdir dir="${dist.dir}/MailetSDK/javadocs"/>
<copy todir="${dist.dir}/MailetSDK/src">
<fileset dir="src">
<include name="**/mailet/**"/>
</fileset>
</copy>
<copy todir="${dist.dir}/MailetSDK/javadocs">
<fileset dir="${build.dir}/mailet">
<include name="**/*"/>
</fileset>
</copy>
<zip zipfile="${dist.dir}/downloads/bin/${name}-MailetSDK-${version}.zip">
<fileset dir="dist">
<include name="${name}-${version}/**"/>
<exclude name="${name}-${version}/downloads/**"/>
</fileset>
</zip>
<tar longfile="gnu" tarfile="${dist.dir}/downloads/bin/${name}-MailetSDK-${version}.tar">
<tarfileset dir="dist" username="${name}" group="${name}">
<include name="${name}-${version}/**"/>
<exclude name="${name}-${version}/downloads/**"/>
</tarfileset>
</tar>
<gzip zipfile="${dist.dir}/downloads/bin/${name}-MailetSDK-${version}.tar.gz" src="${dist.dir}/downloads/bin/${name}-MailetSDK-${version}.tar"/>
<delete file="${dist.dir}/downloads/bin/${name}-MailetSDK-${version}.tar"/>
<delete dir="${dist.dir}/MailetSDK"/>
</target>
<!--
===================================================================
delete dist/ and build/
===================================================================
-->
<target name="clean">
<echo message ="deleting working directories ready for a clean build"/>
<delete dir="${dist.dir}"/>
<delete dir="${build.dir}"/>
</target>
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<target name="usage">
<echo message=""/>
<echo message=""/>
<echo message="JAMES Build file"/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=" available targets are:"/>
<echo message=""/>
<echo message=" dist-lite --> generates unpacked distribution (default)"/>
<echo message=" website --> makes all the docs and javadocs"/>
<echo message=" compile --> compiles the source code"/>
<echo message=" dist --> generates all the JAMES distributions, packed"/>
<echo message=" clean --> cleans up the directory"/>
<echo message=" xdocs --> creates the documentaion for James"/>
<echo message=" javadocs --> creates the Javadoc"/>
<echo message=""/>
<echo message=" See the comments inside the build.xml file for more details."/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=""/>
</target>
</project>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
