blob: 86189a349cc8376994cd50544a187b3a62d90063 [file] [log] [blame]
<project name="James Postage" default="build" basedir=".">
<!--
! Licensed to the Apache Software Foundation (ASF) under one !
! or more contributor license agreements. See the NOTICE file !
! distributed with this work for additional information !
! regarding copyright ownership. The ASF licenses this file !
! to you under the Apache License, Version 2.0 (the !
! "License"); you may not use this file except in compliance !
! with the License. You may obtain a copy of the License at !
! !
! http://www.apache.org/licenses/LICENSE-2.0 !
! !
! Unless required by applicable law or agreed to in writing, !
! software distributed under the License is distributed on an !
! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY !
! KIND, either express or implied. See the License for the !
! specific language governing permissions and limitations !
! under the License. !
-->
<description>James Postage Testing Tool</description>
<!-- CONFIGURE -->
<!--<property file="build.properties" /> -->
<property name="dir.build" value="${basedir}/target"/>
<property name="dir.build.classes" value="${dir.build}/classes/"/>
<property name="dir.build.lib" value="${dir.build}/lib/"/>
<property name="dir.source.classes" value="${basedir}/src/main/java/"/>
<property name="dir.stage" value="${basedir}/stage"/>
<target name="initialize">
<tstamp/>
<path id="java.build.classpath">
<fileset dir="${dir.stage}">
<!-- BUILDTIME AND RUNTIME -->
<include name="commons-collections/jars/commons-collections-3.1.jar"/>
<include name="commons-configuration/jars/commons-configuration-1.5.jar"/>
<include name="commons-lang/jars/commons-lang-2.3.jar"/>
<include name="commons-logging/jars/commons-logging-1.1.jar"/>
<include name="commons-net/jars/commons-net-1.4.1.jar"/>
<include name="javax.mail/jars/mail-1.4.1.jar"/>
<include name="javax.activation/jars/activation-1.1.1.jar"/>
<include name="org.apache.avalon.cornerstone.sockets/jars/cornerstone-sockets-api-2.2.2.jar" />
<include name="org.apache.avalon.cornerstone.sockets/jars/cornerstone-sockets-impl-2.2.2.jar" />
<include name="org.apache.avalon.cornerstone.threads/jars/cornerstone-threads-api-2.2.2.jar" />
<include name="org.apache.avalon.cornerstone.connection/jars/cornerstone-connection-impl-2.2.2.jar" />
<include name="org.apache.avalon.framework/jars/avalon-framework-api-4.3.1.jar"/>
<include name="org.apache.avalon.framework/jars/avalon-framework-impl-4.3.1.jar"/>
<include name="org.apache.excalibur.components/jars/excalibur-thread-impl-2.2.1.jar" />
<include name="org.apache.excalibur.components/jars/excalibur-thread-api-2.2.1.jar" />
<include name="org.apache.excalibur.components/jars/excalibur-pool-api-2.2.1.jar" />
<include name="org.apache.james/jars/mailet-2.4-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-domain-api-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-core-api-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-avalon-socket-library-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-core-function-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-common-util-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-smtpserver-function-3.0-SNAPSHOT.jar"/>
<!-- BUILD TIME ONLY -->
</fileset>
</path>
<path id="java.run.classpath">
<fileset dir="${dir.build.lib}">
<include name="postage.jar"/>
</fileset>
<fileset dir="${dir.stage}">
<!-- BUILDTIME AND RUNTIME -->
<include name="commons-collections/jars/commons-collections-3.1.jar"/>
<include name="commons-configuration/jars/commons-configuration-1.5.jar"/>
<include name="commons-lang/jars/commons-lang-2.3.jar"/>
<include name="commons-logging/jars/commons-logging-1.1.jar"/>
<include name="commons-net/jars/commons-net-1.4.1.jar"/>
<include name="javax.mail/jars/mail-1.4.1.jar"/>
<include name="javax.activation/jars/activation-1.1.1.jar"/>
<include name="org.apache.avalon.cornerstone.sockets/jars/cornerstone-sockets-api-2.2.2.jar" />
<include name="org.apache.avalon.cornerstone.sockets/jars/cornerstone-sockets-impl-2.2.2.jar" />
<include name="org.apache.avalon.cornerstone.threads/jars/cornerstone-threads-api-2.2.2.jar" />
<include name="org.apache.avalon.cornerstone.connection/jars/cornerstone-connection-impl-2.2.2.jar" />
<include name="org.apache.avalon.framework/jars/avalon-framework-api-4.3.1.jar"/>
<include name="org.apache.avalon.framework/jars/avalon-framework-impl-4.3.1.jar"/>
<include name="org.apache.excalibur.components/jars/excalibur-thread-api-2.2.1.jar" />
<include name="org.apache.excalibur.components/jars/excalibur-thread-impl-2.2.1.jar" />
<include name="org.apache.excalibur.components/jars/excalibur-pool-api-2.2.1.jar" />
<include name="org.apache.james/jars/mailet-2.4-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-domain-api-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-core-api-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-avalon-socket-library-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-core-function-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-common-util-3.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-smtpserver-function-3.0-SNAPSHOT.jar"/>
<!-- RUNTIME ONLY -->
<include name="concurrent/jars/concurrent-1.3.4.jar" />
<include name="org.apache.excalibur.components/jars/excalibur-pool-impl-2.2.1.jar" />
<include name="org.apache.james/jars/apache-james-mailet-base-1.0-SNAPSHOT.jar"/>
<include name="org.apache.james/jars/james-server-core-library-3.0-SNAPSHOT.jar"/>
<include name="org.apache.avalon.cornerstone.connection/jars/cornerstone-connection-api-2.2.2.jar" />
<include name="dnsjava/jars/dnsjava-2.0.6.jar" />
</fileset>
</path>
</target>
<target name="init-compiler-sources">
<fixcrlf srcdir="${dir.source.classes}" includes="**/*.java" eol="lf" tab="remove" tablength="4" />
</target>
<!-- CLEAN UP -->
<target name="clean" depends="initialize" >
<delete dir="${dir.build}" />
</target>
<!-- COMPILE -->
<target name="init-paths">
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.build.classes}"/>
</target>
<target name="build" depends="initialize, init-paths, init-compiler-sources">
<echo>Compiling ${ant.project.name}</echo>
<!-- build the src javas -->
<javac destdir="${dir.build.classes}"
classpathref="java.build.classpath"
target="1.5" source="1.5"
debug="on" >
<src path="${dir.source.classes}" />
</javac>
<echo>Finished compiling ${ant.project.name}</echo>
</target>
<!-- PACKAGE -->
<target name="package" depends="build" >
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.build.lib}"/>
<jar file="${dir.build.lib}/postage.jar" basedir="${dir.build.classes}" >
<manifest >
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="org.apache.james.postage.Main"/>
<section name="common">
<attribute name="Specification-Title" value="Apache James Postage"/>
<attribute name="Specification-Version" value="0.1"/>
<attribute name="Specification-Vendor" value="Apache Software Foundation"/>
<attribute name="Implementation-Title" value="Postage"/>
<attribute name="Implementation-Version" value="0.1"/>
<attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
</section>
</manifest>
</jar>
<!-- TODO add Apache Manifest Info -->
<tstamp>
<format property="end.time" pattern="HH:mm:ss"/>
</tstamp>
<echo>Finished: ${end.time}</echo>
</target>
<!-- RUN -->
<target name="run" depends="initialize, package" >
<java classname="org.apache.james.postage.Main" fork="true">
<classpath refid="java.run.classpath"/>
<!-- TODO: document, in which runtime environments this property is needed for loading XML conf files -->
<!-- <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.crimson.jaxp.DocumentBuilderFactoryImpl" /> -->
<arg value="./src/main/config/postage.xml" />
<arg value="release" />
</java>
</target>
<target name="run-debug" depends="initialize" >
<java classname="org.apache.james.postage.Main" fork="true">
<classpath refid="java.run.classpath"/>
<!-- TODO: document, in which runtime environments this property is needed for loading XML conf files -->
<!-- <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.crimson.jaxp.DocumentBuilderFactoryImpl" /> -->
<arg value="./src/main/config/postage.xml" />
<arg value="debug" />
</java>
</target>
</project>