<?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-mailet' 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="mail.class.path">
        <pathelement location='${mail.jar}' />
        <pathelement location='${activation.jar}' />
    </path>

    <path id="project.class.path">
        <pathelement location="${commons-logging.jar}" />
        <pathelement location="${log4j.jar}" />
        <pathelement location="${junit.jar}" />
        <pathelement location='${lib.jsieve.dir}/${name}-${version}.jar' />
        <pathelement location="${mailet.jar}" />
        <pathelement location="${mailet-base.jar}" />
        <pathelement location="${mime4j.jar}" />
        <path refid="mail.class.path" />
        <pathelement path="${java.class.path}" />
        <pathelement path="${build.classes}" />
    </path>

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

     <import file='../build.xml'/>
    
    <target name="main" depends="run-tests" description=" - main target"/>

    <target name="prepare" description=" - paparations                   [internal]">
        <CheckMailConditions/>
    </target>

    <target name="compile" depends="prepare" description=" - compiles test and main source">
        <CompileMain>
            <src path="${java.dir}" />
        </CompileMain>
        <CompileTests/>
    </target>

    <target name="jar" depends="compile" description=" - jars classes">
        <Jar name='mailet'/> 
    </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>
