| <?xml version="1.0"?> |
| <!-- |
| ========================================================================== |
| |
| jSieve build file |
| |
| |
| 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. |
| |
| ============================================================================== |
| --> |
| |
| <project name='jsieve-main' 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="../include.properties" /> |
| <property file="../default.properties" /> |
| |
| <path id="project.class.path"> |
| <pathelement location="${commons-logging.jar}" /> |
| <pathelement location="${log4j.jar}" /> |
| <pathelement location="${junit.jar}" /> |
| <pathelement path="${java.class.path}" /> |
| <pathelement path="${build.classes}" /> |
| </path> |
| |
| <path id="mail.class.path"> |
| <pathelement location='${mail.jar}' /> |
| <pathelement location='${activation.jar}' /> |
| </path> |
| |
| <path id="project.test.class.path"> |
| <path refid="project.class.path" /> |
| <path refid="mail.class.path" /> |
| </path> |
| |
| <import file='../build.xml'/> |
| <target name="main" depends="run-tests" description=" - main target"/> |
| |
| <target name="prepare" depends="preprocess" description=" - paparations [internal]"> |
| <CheckMailConditions/> |
| </target> |
| |
| <!-- |
| Unless you want to alter the Sieve grammar, expressed by the seive.jjt |
| file, is built, consider the following processing a black box. |
| Or zen for the more spiritual amongst you. |
| --> |
| <target name="preprocess" description=" - generate source from grammar [internal]"> |
| <!-- |
| Generate JavaCC source inserting parse tree building actions |
| and the Java source for the parse classes. |
| --> |
| <mkdir dir="${build.src}/org/apache/jsieve/parser/generated/address" /> |
| <java classname="jjtree" fork="yes" failonerror="true" dir="${build.src}"> |
| <arg line="${javacc.dir}/sieve/sieve.jjt" /> |
| <classpath> |
| <pathelement location="${javacc.jar}" /> |
| <pathelement path="${java.class.path}" /> |
| </classpath> |
| </java> |
| <java classname="jjtree" fork="yes" failonerror="true" dir="${build.src}"> |
| <arg line="${javacc.dir}/address/AddressListParser.jjt" /> |
| <classpath> |
| <pathelement location="${javacc.jar}" /> |
| <pathelement path="${java.class.path}" /> |
| </classpath> |
| </java> |
| |
| <!-- Generate Java source from the JavaCC source --> |
| <java classname="javacc" fork="yes" failonerror="true" dir="${build.src}"> |
| <arg line="${build.src}/org/apache/jsieve/parser/generated/sieve.jj" /> |
| <classpath> |
| <pathelement location="${javacc.jar}" /> |
| <pathelement path="${java.class.path}" /> |
| </classpath> |
| </java> |
| <java classname="javacc" fork="yes" failonerror="true" dir="${build.src}"> |
| <arg line="${build.src}/org/apache/jsieve/parser/generated/address/AddressListParser.jj" /> |
| <classpath> |
| <pathelement location="${javacc.jar}" /> |
| <pathelement path="${java.class.path}" /> |
| </classpath> |
| </java> |
| </target> |
| |
| <target name="compile" depends="prepare" description=" - compiles test and main source"> |
| <CompileMain> |
| <src path="${build.src}" /> |
| <src path="${java.dir}" /> |
| </CompileMain> |
| <CompileTests/> |
| </target> |
| |
| <target name="jar" depends="compile" description=" - jars classes"> |
| <Jar name='' prefix=''/> |
| |
| <!-- Make jSieve jUnit jar--> |
| <echo message="Making jSieve jUnit Jar (${name}-tests-${version}.jar)" /> |
| <jar jarfile="${build.lib}/${name}-tests-${version}.jar" basedir="${build.classes.test}"> |
| <include name="org/apache/jsieve/**" /> |
| <include name="META-INF/**" /> |
| <manifest> |
| <attribute name="Created-By" value='${creator}' /> |
| <attribute name="X-Compile-Source-JDK" value='${jdk.source}' /> |
| <attribute name="X-Compile-Target-JDK" value='${jdk.target}' /> |
| </manifest> |
| </jar> |
| |
| <copy todir='${lib.jsieve.dir}' file='${build.lib}/${name}-tests-${version}.jar' /> |
| </target> |
| |
| <target name="run-tests" depends="jar" description=" - runs all tests"> |
| <RunTests/> |
| </target> |
| |
| <target name="clean" description=" - cleans build files"> |
| <Clean/> |
| </target> |
| |
| <target name="usage" description=" - prints help"> |
| <Usage/> |
| </target> |
| |
| </project> |