Peter M. Goldstein wrote:
Stephen,The config elements are cut and paste from the current James CVS HEAD.
Are you sure this isn't a config problem?
If it's a config problem then its a James bug we need to fix because I'm not getting any errors.
Ignoring the empty command for
the moment, it looks like your mail to "test@localhost" is being routed to
RemoteDelivery for processing. Maybe because it's in the spammer blacklist?
A posted configuration file might help immensely.
The configuration is defintioned by a combination of two files: 1. avalon-sandbox/merlin/blocks.zml 2. avalon-sandbox/merlin/src/test/config/james.xml Both availble in the CVS: http://cvs.apache.org/viewcvs/avalon-sandbox/merlin/
Also, it would probablyDebug level is already enabled on the parent. In principal any child loggers should be inheriting log priority levels of DEBUG unless James is explicity overulling this - i.e. what is running should be full DEBUG for everything unless I'm missing something or some explicit configuration is required.
be desirable to flip on debug for all the individual mailets if you haven't
done so already.
I'm interested - but before posting something to me can you tryI've got a (somewhat modified) version of James that uses the current Cornerstone classes (haven't upgraded all of the Excalibur ones), has undergone the Composable->Serviceable change, and runs inside Phoenix. Seems to work ok. I'd be happy to share source code with you if you so desire.
the following against your code base using the attache build file:
The related resource you will need include:
<james-dir>
james.xml
james.properties
<james-dir>/tests
test.xml
test.properties
The build files for both james and the tests simply point to the current CVS builds for excalibur and cornerstone. Note - to build corenrstone you will need excalibur-thead-1.1 which includes the bug fix concerning pool max size control. You will also need to replace the excalibur-thread-1.0 in phoenix lib with version 1.1.
Then ...
$ cd <avalon-dir>
$ ant
$
$ cd <excalibur-dir>
$ ant
$
$ cd <cornerstone-dir>
$ ant -buildfile cornerstone.xml
$
$ cd <james-dir>
$ ant -buildfile james.xml
$
$ cd <avalon-sandbox>
$ cd merlin
$ ant
$
// edit the blocks.xml file to make sure the james block is enabled
// and that the demos are disabled then launch merlin
$
$ start demo
$ cd <james-dir>
$ cd tests
$ ant -buildfile test.xml
$
Also, does your source have the post-2.1 patch that altered the SMTP handlerNot sure. I've synced with the James CVS a couple of time in the last couple of weeks (but its a painful process so I'm not doing it frequently). When was the post-2.1 reverted?
data buffering?
This smells of something possible - I know I updated the CVS and made a bunch of other changes and retured to the james test and things were broken again. I'll resync against the James CVS and post results to James Dev.As that patch was in error, and has since been reverted, it may be causing some of your empty command woes. The empty command you are observing is symptomatic of a bug introduced with that patch. Please see james-dev for a discussion.
Cheers, Steve.
--Peter
-----Original Message-----
From: Stephen McConnell [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 22, 2003 3:17 AM
To: Avalon Developers List; James Developers List
Subject: Excalibur/Cornerstone/James woes
Guys:
It looks like my earlier note concerning success with James was
premature. I'm back experiencing an loop inside James mail processing
and have not been able to isolate the problem.
Relevant points:
1. build of James, Cornerstone and Excalibur related resources
are all from current CVS
2. James sources have been updated locally to support the service
package (to sync with Cornerstone changes)
Some important notes:
1. james extends several Cornerstone classes based on Cornerstone
implementations from back in June and I suspect that there may
be a runtime disconnect here somewhere
2. problem occurs when running under Phoenix or Merlin so I think
we can rule out containers as the issue
I've put up a log with full debug level on at the following URL:
http://www.osm.net/technical/james/james-log.txt
Comments added to the log file are prefixed by ##.
In order to resolve this problem I would like to import the modified
James sources into avalon-sandbox to enable James and Avalon people to
dig into this.
Cheers, Steve.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net
--
To unsubscribe, e-mail: <mailto:avalon-dev-
[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:avalon-dev-
[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
-- Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net
<project name="james" default="main" basedir=".">
<property file="ant.properties"/>
<property file="${user.home}/.ant.properties"/>
<property file="default.properties"/>
<property file="${ant.project.name}.properties"/>
<path id="project.class.path">
<pathelement location="${junit.jar}"/>
<pathelement location="${xerces.jar}"/>
<pathelement location="${xalan.jar}"/>
<pathelement location="${xml-apis.jar}"/>
<pathelement location="${dns.jar}"/>
<pathelement location="${commons-net.jar}"/>
<pathelement location="${commons-collections.jar}"/>
<pathelement location="${jakarta-oro.jar}"/>
<pathelement location="${avalon-framework.jar}"/>
<pathelement location="${excalibur-threadcontext.jar}"/>
<pathelement location="${excalibur-collections.jar}"/>
<pathelement location="${excalibur-pool.jar}"/>
<pathelement location="${excalibur-thread.jar}"/>
<pathelement location="${excalibur-datasource.jar}"/>
<pathelement location="${excalibur-io.jar}"/>
<pathelement location="${cornerstone-threads.jar}"/>
<pathelement location="${cornerstone-connection.jar}"/>
<pathelement location="${cornerstone-store.jar}"/>
<pathelement location="${cornerstone-scheduler.jar}"/>
<pathelement location="${cornerstone-sockets.jar}"/>
<pathelement location="${cornerstone-datasources.jar}"/>
<pathelement location="${javax-mail.jar}"/>
<pathelement location="${javax-activation.jar}"/>
<pathelement location="${metagenerate.jar}"/>
<pathelement location="${qdox.jar}"/>
<pathelement path="${java.class.path}" />
<pathelement path="${build.classes}" />
</path>
<property name="constants.file" value="org/apache/james/Constants.java"/>
<property name="poolconn.file" value="org/apache/james/util/mordred/PoolConnEntry.java"/>
<property name="mailet.file" value="org/apache/mailet/MailetContextConstants.java"/>
<property name="jdbc.file" value="org/apache/james/util/mordred/JdbcDataSource.java"/>
<!-- Main target -->
<target name="main" depends="jars" description="Create minimal distribution" />
<!-- Compile the project -->
<target name="prepare">
<available property="jdbc3.present" classname="java.sql.Savepoint"/>
<mkdir dir="${build.src}"/>
<copy todir="${build.src}">
<fileset dir="${java.dir}">
<include name="${constants.file}"/>
<include name="${poolconn.file}"/>
<include name="${mailet.file}"/>
<include name="${jdbc.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>
<target name="prepare-jdbc3" depends="prepare" if="jdbc3.present">
<echo message="JDBC v3 in classpath - making code JDBC 3.0 compliant"/>
<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 the project -->
<target name="compile" depends="prepare-jdbc3">
<mkdir dir="${build.classes}"/>
<available property="jndi.present" classname="javax.naming.InitialContext"/>
<javac srcdir="${build.src}"
destdir="${build.classes}"
debug="${build.debug}"
optimize="${build.optimize}"
deprecation="${build.deprecation}">
<classpath refid="project.class.path" />
</javac>
<javac srcdir="${java.dir}"
destdir="${build.classes}"
debug="${build.debug}"
optimize="${build.optimize}"
deprecation="${build.deprecation}">
<classpath refid="project.class.path" />
<src path="${java.dir}"/>
<exclude name="${constants.file}"/>
<exclude name="${mailet.file}"/>
<exclude name="${poolconn.file}"/>
<exclude name="${jdbc.file}"/>
<exclude name="org/apache/james/userrepository/UsersLDAPRepository.java" unless="jndi.present"/>
</javac>
</target>
<!-- Creates all the .jar file -->
<target name="jars" depends="compile">
<mkdir dir="${build.lib}"/>
<mkdir dir="${build.gen}"/>
<jar jarfile="${build.lib}/${name}-${package-version}.jar"
basedir="${build.classes}" includes="org/apache/james/**" >
<!--
<manifest>
<attribute name="Extension-Name" value="${extension.name}"/>
<attribute name="Specification-Vendor" value="${vendor}"/>
<attribute name="Specification-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="${vendor}"/>
<attribute name="Implementation-Version" value="${package-version}"/>
<attribute name="Extension-List" value="framework thread connection datasources store"/>
<attribute name="framework-Extension-Name" value="${avalon-framework.extension.name}"/>
<attribute name="framework-Specification-Version" value="${avalon-framework.extension.version}"/>
<attribute name="framework-Implementation-Version" value="${avalon-framework.extension.implementation}"/>
<attribute name="thread-Extension-Name" value="${cornerstone-threads.ext.name}"/>
<attribute name="thread-Specification-Version" value="${cornerstone-threads.ext.version}"/>
<attribute name="connection-Extension-Name" value="${cornerstone-connection.ext.name}"/>
<attribute name="connection-Specification-Version" value="${cornerstone-connection.ext.version}"/>
<attribute name="datasources-Extension-Name" value="${cornerstone-datasources.ext.name}"/>
<attribute name="datasources-Specification-Version" value="${cornerstone-datasources.ext.version}"/>
<attribute name="store-Extension-Name" value="${cornerstone-store.ext.name}"/>
<attribute name="store-Specification-Version" value="${cornerstone-store.ext.version}"/>
<attribute name="scheduler-Extension-Name" value="${cornerstone-scheduler.ext.name}"/>
<attribute name="scheduler-Specification-Version" value="${cornerstone-scheduler.ext.version}"/>
<attribute name="sockets-Extension-Name" value="${cornerstone-sockets.ext.name}"/>
<attribute name="sockets-Specification-Version" value="${cornerstone-sockets.ext.version}"/>
</manifest>
-->
<fileset dir="${java.dir}">
<include name="**/*.mxinfo"/>
<include name="**/*.xinfo"/>
<include name="**/*-schema.xml"/>
<include name="**/*.xconfig"/>
</fileset>
</jar>
<jar jarfile="${build.lib}/mailet.jar" basedir="${build.classes}"
manifest="${src.dir}/Manifest.mf" includes="org/apache/mailet/**"/>
</target>
<!-- Creates all the .sar file -->
<target name="sar" depends="jars" description="Generates the sar files">
<mkdir dir="${build.lib}"/>
<jar jarfile="${build.lib}/james-new.sar"
compress="${build.compress}"
manifest="${src.dir}/Manifest.mf">
<zipfileset dir="${src.dir}/conf" prefix="SAR-INF/">
<include name="assembly.xml"/>
<include name="config.xml"/>
<include name="environment.xml"/>
</zipfileset>
<zipfileset dir="lib" prefix="SAR-INF/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="activation.jar"/>
<include name="mail_1_3.jar"/>
<include name="commons-net-1.0.0-dev.jar"/>
</zipfileset>
<zipfileset dir="${avalon-framework.lib}" prefix="SAR-INF/lib">
<include name="avalon-framework.jar"/>
</zipfileset>
<zipfileset dir="${cornerstone.home}/build/lib" prefix="SAR-INF/lib">
<include name="cornerstone-threads-1.0.jar"/>
<include name="cornerstone-connection-1.0.jar"/>
<include name="cornerstone-store-1.0.jar"/>
<include name="cornerstone-scheduler-1.0.jar"/>
<include name="cornerstone-sockets-1.0.jar"/>
<include name="cornerstone-datasources-1.0.jar"/>
</zipfileset>
<zipfileset dir="${excalibur-collections.lib}" prefix="SAR-INF/lib">
<include name="excalibur-collections-1.0.jar"/>
</zipfileset>
<zipfileset dir="${excalibur-threadcontext.lib}" prefix="SAR-INF/lib">
<include name="excalibur-threadcontext-1.0.jar"/>
</zipfileset>
<zipfileset dir="${excalibur-thread.lib}" prefix="SAR-INF/lib">
<include name="excalibur-thread-1.1.jar"/>
</zipfileset>
<zipfileset dir="${excalibur-datasource.lib}" prefix="SAR-INF/lib">
<include name="excalibur-datasource-1.0.jar"/>
</zipfileset>
<zipfileset dir="${excalibur-io.lib}" prefix="SAR-INF/lib">
<include name="excalibur-io-1.1.jar"/>
</zipfileset>
<zipfileset dir="${build.dir}/lib" prefix="SAR-INF/lib">
<include name="james-3.0.jar"/>
<include name="mailet.jar"/>
</zipfileset>
</jar>
</target>
</project>
# -------------------------------------------------------------------
# B U I L D P R O P E R T I E S
# -------------------------------------------------------------------
# Specifies default property values
# Overridden by ../default.properties and all ant.properties
# Not user-editable; use ant.properties files instead
name=james
Name=James Mail Server
version=3.0
package-version=3.0
year=2003
extension.name=org.apache.james
vendor=Apache Software Foundation
src.dir=src
java.dir=${src.dir}/java
# location of intermediate products
build.root = build
build.lib = ${build.root}/lib
build.dir = ${build.root}
build.src = ${build.dir}/src
build.testsrc = ${build.dir}/testsrc
build.testclasses = ${build.dir}/testclasses
build.conf = ${build.dir}/conf
build.classes = ${build.dir}/classes
build.gen = ${build.dir}/gen
build.tests = ${build.dir}/tests
build.reports = ${build.dir}/reports
build.docs = ${build.dir}/docs
build.javadocs = ${build.docs}/api
# --------------------------------------------------
# REQUIRED LIBRARIES
# --------------------------------------------------
# ----- Avalon Framework -----
avalon-framework.home=${basedir}/../jakarta-avalon
avalon-framework.lib=${avalon-framework.home}/target/lib
avalon-framework.jar=${avalon-framework.lib}/avalon-framework.jar
avalon-framework.extension.name=avalon-framework
avalon-framework.extension.version=1.0
avalon-framework.extension.implementation=4.1.3
# ----- Excalibur -----
excalibur.home=${basedir}/../jakarta-avalon-excalibur
# ----- Cornerstone -----
cornerstone.home=${basedir}/../jakarta-avalon-cornerstone
# ----- Cornerstone threads, version 1.0 or later -----
cornerstone-threads.home=${cornerstone.home}
cornerstone-threads.lib=${cornerstone-threads.home}/build/lib
cornerstone-threads.jar=${cornerstone-threads.lib}/cornerstone-threads-1.0.jar
cornerstone-threads.ext.name=org.apache.avalon.cornerstone.threads
cornerstone-threads.ext.version=1.0
cornerstone-threads.ext.impl=1.0
# ----- Cornerstone connection, version 1.0 or later -----
cornerstone-connection.home=${cornerstone.home}
cornerstone-connection.lib=${cornerstone-connection.home}/build/lib
cornerstone-connection.jar=${cornerstone-connection.lib}/cornerstone-connection-1.0.jar
cornerstone-connection.ext.name=org.apache.avalon.cornerstone.connection
cornerstone-connection.ext.version=1.0
cornerstone-connection.ext.impl=1.0
# ----- Cornerstone masterstore, version 1.0 or later -----
cornerstone-store.home=${cornerstone.home}
cornerstone-store.lib=${cornerstone-store.home}/build/lib
cornerstone-store.jar=${cornerstone-store.lib}/cornerstone-store-1.0.jar
cornerstone-store.ext.name=org.apache.avalon.cornerstone.store
cornerstone-store.ext.version=1.0
cornerstone-store.ext.impl=1.0
# ----- Cornerstone sockets, version 1.0 or later -----
cornerstone-sockets.home=${cornerstone.home}
cornerstone-sockets.lib=${cornerstone-sockets.home}/build/lib
cornerstone-sockets.jar=${cornerstone-sockets.lib}/cornerstone-sockets-1.0.jar
cornerstone-sockets.ext.name=org.apache.avalon.cornerstone.sockets
cornerstone-sockets.ext.version=1.0
cornerstone-sockets.ext.impl=1.0
# ----- Cornerstone scheduler, version 1.0 or later -----
cornerstone-scheduler.home=${cornerstone.home}
cornerstone-scheduler.lib=${cornerstone-scheduler.home}/build/lib
cornerstone-scheduler.jar=${cornerstone-scheduler.lib}/cornerstone-scheduler-1.0.jar
cornerstone-scheduler.ext.name=org.apache.avalon.cornerstone.scheduler
cornerstone-scheduler.ext.version=1.0
cornerstone-scheduler.ext.impl=1.0
# ----- Cornerstone scheduler, version 1.0 or later -----
cornerstone-datasources.home=${cornerstone.home}
cornerstone-datasources.lib=${cornerstone-datasources.home}/build/lib
cornerstone-datasources.jar=${cornerstone-datasources.lib}/cornerstone-datasources-1.0.jar
cornerstone-datasources.ext.name=org.apache.avalon.cornerstone.datasources
cornerstone-datasources.ext.version=1.0
cornerstone-datasources.ext.impl=1.0
# ----- Excalibur collections, version 1.0 or later -----
excalibur-collections.home=${excalibur.home}/collections
excalibur-collections.lib=${excalibur-collections.home}/build/lib
excalibur-collections.jar=${excalibur-collections.lib}/excalibur-collections-1.0.jar
# ----- Excalibur threadcontext, version 1.0 or later -----
excalibur-threadcontext.home=${excalibur.home}/threadcontext
excalibur-threadcontext.lib=${excalibur-threadcontext.home}/build/lib
excalibur-threadcontext.jar=${excalibur-threadcontext.lib}/excalibur-threadcontext-1.0.jar
# ----- Excalibur thread, version 1.0 or later -----
excalibur-thread.home=${excalibur.home}/thread
excalibur-thread.lib=${excalibur-thread.home}/build/lib
excalibur-thread.jar=${excalibur-thread.lib}/excalibur-thread-1.1.jar
# ----- Excalibur pool -----
excalibur-pool.home=${excalibur.home}/pool
excalibur-pool.lib=${excalibur-pool.home}/build/lib
excalibur-pool.jar=${excalibur-pool.lib}/excalibur-pool-1.1.jar
# ----- Excalibur datasource -----
excalibur-datasource.home=${excalibur.home}/datasource
excalibur-datasource.lib=${excalibur-datasource.home}/build/lib
excalibur-datasource.jar=${excalibur-datasource.lib}/excalibur-datasource-1.0.jar
# ----- Excalibur datasource -----
excalibur-io.home=${excalibur.home}/io
excalibur-io.lib=${excalibur-io.home}/build/lib
excalibur-io.jar=${excalibur-io.lib}/excalibur-io-1.1.jar
# ----- Javax mail -----
javax-mail.home=.
javax-mail.lib=${javax-mail.home}/lib
javax-mail.jar=${javax-mail.lib}/mail_1_3.jar
javax-mail.ext.name=javax.mail
javax-mail.ext.version=1.3
# ----- Activation -----
javax-activation.home=.
javax-activation.lib=${javax-activation.home}/lib
javax-activation.jar=${javax-activation.lib}/activation.jar
javax-activation.ext.name=javax.activation
javax-activation.ext.version=1.0
# ----- DNS -----
dns.home=.
dns.lib=${dns.home}/lib
dns.jar=${dns.lib}/dnsjava-1.2.3.jar
# ----- Commons Net -----
commons-net.home=.
commons-net.lib=${commons-net.home}/lib
commons-net.jar=${commons-net.lib}/commons-net-1.0.0-dev.jar
# ----- Jakarta ORO -----
jakarta-oro.home=.
jakarta-oro.lib=${jakarta-oro.home}/lib
jakarta-oro.jar=${jakarta-oro.lib}/jakarta-oro-2.0.1.jar
# ----- Commons Collections -----
commons-collections.home=${excalibur.home}/collections
commons-collections.lib=${commons-collections.home}/lib
commons-collections.jar=${commons-collections.lib}/commons-collections-2.0.jar
# --------------------------------------------------
# REQUIRED LIBRARIES
# --------------------------------------------------
james.home=${basedir}/..
# ----- Avalon Framework -----
avalon-framework.home=${james.home}/../jakarta-avalon
avalon-framework.lib=${avalon-framework.home}/target/lib
avalon-framework.jar=${avalon-framework.lib}/avalon-framework.jar
avalon-framework.extension.name=avalon-framework
avalon-framework.extension.version=1.0
avalon-framework.extension.implementation=4.1.3
# ----- Excalibur -----
excalibur.home=${james.home}/../jakarta-avalon-excalibur
# ----- Cornerstone -----
cornerstone.home=${james.home}/../jakarta-avalon-cornerstone
# ----- Cornerstone threads, version 1.0 or later -----
cornerstone-threads.home=${cornerstone.home}
cornerstone-threads.lib=${cornerstone-threads.home}/build/lib
cornerstone-threads.jar=${cornerstone-threads.lib}/cornerstone-threads-1.0.jar
cornerstone-threads.ext.name=org.apache.avalon.cornerstone.threads
cornerstone-threads.ext.version=1.0
cornerstone-threads.ext.impl=1.0
# ----- Cornerstone connection, version 1.0 or later -----
cornerstone-connection.home=${cornerstone.home}
cornerstone-connection.lib=${cornerstone-connection.home}/build/lib
cornerstone-connection.jar=${cornerstone-connection.lib}/cornerstone-connection-1.0.jar
cornerstone-connection.ext.name=org.apache.avalon.cornerstone.connection
cornerstone-connection.ext.version=1.0
cornerstone-connection.ext.impl=1.0
# ----- Cornerstone masterstore, version 1.0 or later -----
cornerstone-store.home=${cornerstone.home}
cornerstone-store.lib=${cornerstone-store.home}/build/lib
cornerstone-store.jar=${cornerstone-store.lib}/cornerstone-store-1.0.jar
cornerstone-store.ext.name=org.apache.avalon.cornerstone.store
cornerstone-store.ext.version=1.0
cornerstone-store.ext.impl=1.0
# ----- Cornerstone sockets, version 1.0 or later -----
cornerstone-sockets.home=${cornerstone.home}
cornerstone-sockets.lib=${cornerstone-sockets.home}/build/lib
cornerstone-sockets.jar=${cornerstone-sockets.lib}/cornerstone-sockets-1.0.jar
cornerstone-sockets.ext.name=org.apache.avalon.cornerstone.sockets
cornerstone-sockets.ext.version=1.0
cornerstone-sockets.ext.impl=1.0
# ----- Cornerstone scheduler, version 1.0 or later -----
cornerstone-scheduler.home=${cornerstone.home}
cornerstone-scheduler.lib=${cornerstone-scheduler.home}/build/lib
cornerstone-scheduler.jar=${cornerstone-scheduler.lib}/cornerstone-scheduler-1.0.jar
cornerstone-scheduler.ext.name=org.apache.avalon.cornerstone.scheduler
cornerstone-scheduler.ext.version=1.0
cornerstone-scheduler.ext.impl=1.0
# ----- Cornerstone scheduler, version 1.0 or later -----
cornerstone-datasources.home=${cornerstone.home}
cornerstone-datasources.lib=${cornerstone-datasources.home}/build/lib
cornerstone-datasources.jar=${cornerstone-datasources.lib}/cornerstone-datasources-1.0.jar
cornerstone-datasources.ext.name=org.apache.avalon.cornerstone.datasources
cornerstone-datasources.ext.version=1.0
cornerstone-datasources.ext.impl=1.0
# ----- Excalibur collections, version 1.0 or later -----
excalibur-collections.home=${excalibur.home}/collections
excalibur-collections.lib=${excalibur-collections.home}/build/lib
excalibur-collections.jar=${excalibur-collections.lib}/excalibur-collections-1.0.jar
# ----- Excalibur threadcontext, version 1.0 or later -----
excalibur-threadcontext.home=${excalibur.home}/threadcontext
excalibur-threadcontext.lib=${excalibur-threadcontext.home}/build/lib
excalibur-threadcontext.jar=${excalibur-threadcontext.lib}/excalibur-threadcontext-1.0.jar
# ----- Excalibur thread, version 1.0 or later -----
excalibur-thread.home=${excalibur.home}/thread
excalibur-thread.lib=${excalibur-thread.home}/build/lib
excalibur-thread.jar=${excalibur-thread.lib}/excalibur-thread-1.1.jar
# ----- Excalibur pool -----
excalibur-pool.home=${excalibur.home}/pool
excalibur-pool.lib=${excalibur-pool.home}/build/lib
excalibur-pool.jar=${excalibur-pool.lib}/excalibur-pool-1.1.jar
# ----- Excalibur datasource -----
excalibur-datasource.home=${excalibur.home}/datasource
excalibur-datasource.lib=${excalibur-datasource.home}/build/lib
excalibur-datasource.jar=${excalibur-datasource.lib}/excalibur-datasource-1.0.jar
# ----- Excalibur datasource -----
excalibur-io.home=${excalibur.home}/io
excalibur-io.lib=${excalibur-io.home}/build/lib
excalibur-io.jar=${excalibur-io.lib}/excalibur-io-1.1.jar
# ----- Javax mail -----
javax-mail.home=.
javax-mail.lib=${javax-mail.home}/lib
javax-mail.jar=${javax-mail.lib}/mail_1_3.jar
javax-mail.ext.name=javax.mail
javax-mail.ext.version=1.3
# ----- Activation -----
javax-activation.home=.
javax-activation.lib=${javax-activation.home}/lib
javax-activation.jar=${javax-activation.lib}/activation.jar
javax-activation.ext.name=javax.activation
javax-activation.ext.version=1.0
# ----- DNS -----
dns.home=.
dns.lib=${dns.home}/lib
dns.jar=${dns.lib}/dnsjava-1.2.3.jar
# ----- Commons Net -----
commons-net.home=.
commons-net.lib=${commons-net.home}/lib
commons-net.jar=${commons-net.lib}/commons-net-1.0.0-dev.jar
# ----- Jakarta ORO -----
jakarta-oro.home=.
jakarta-oro.lib=${jakarta-oro.home}/lib
jakarta-oro.jar=${jakarta-oro.lib}/jakarta-oro-2.0.1.jar
# ----- Commons Collections -----
commons-collections.home=${excalibur.home}/collections
commons-collections.lib=${commons-collections.home}/lib
commons-collections.jar=${commons-collections.lib}/commons-collections-2.0.jar
<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 file="test.properties"/>
<property name="name" value="james"/>
<property name="Name" value="James"/>
<property name="version" value="2.1a1-cvs"/>
<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="on"/>
<!--
===================================================================
Set the properties for intermediate directory
===================================================================
-->
<property name="build.dir" value="build/tests"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="james.classes" value="../build/classes"/>
<!--
===================================================================
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="lib.dir" value="../lib"/>
<property name="phoenix" value="../phoenix-bin"/>
<property name="phoenix.lib.dir" value="${phoenix}/lib"/>
<path id="project.class.path">
<pathelement path="${java.class.path}"/>
<fileset dir="${lib.dir}">
<include name="dnsjava-1.2.3.jar"/>
<include name="mail_1_3.jar"/>
<include name="jakarta-oro-2.0.1.jar"/>
<include name="activation.jar"/>
<include name="commons-net-1.0.0-dev.jar"/>
</fileset>
<fileset dir="../../jakarta-avalon-excalibur">
<include name="io/build/lib/*.jar"/>
<include name="cli/build/lib/*.jar"/>
</fileset>
<pathelement location="${avalon-framework.jar}"/>
<!--
<fileset dir="../../avalon-sandbox/merlin/common">
<include name="*.jar"/>
</fileset>
<fileset dir="../../avalon-sandbox/merlin/lib">
<include name="*.jar"/>
</fileset>
-->
<fileset dir="../build/lib">
<include name="james-3.0.jar"/>
</fileset>
<pathelement path="${build.classes}"/>
<pathelement path="${james.classes}"/>
</path>
<target name="main" depends="test"/>
<target name="compile" >
<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="${src.dir}"/>
</javac>
<copy todir="${build.classes}">
<fileset dir="${java.dir}">
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
<!-- ==================================================================== -->
<!-- Run the unit test suite -->
<!-- =================================================================== -->
<target name="test" depends="compile">
<junit printsummary="yes" showoutput="false">
<formatter type="plain" usefile="no"/>
<classpath refid="project.class.path"/>
<test name="org.apache.james.testing.EndToEnd" haltonerror="true"/>
</junit>
</target>
<target name="clean">
<delete dir="build"/>
</target>
</project>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
