<?xml version="1.0" encoding="UTF-8"?>
<!--
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="Ant - Macros">
 <property name="minimumantversion" value="1.9.0"/>

 <antversion property="antversion" atleast="${minimumantversion}"/>
 <fail unless="antversion" message="Please upgrade ant to at least ${minimumantversion}. Current ant version is ${ant.version}"/>

 <condition property="javaatleast17">
  <not>
   <matches pattern="^1\.[0-6]($|\..*)" string="${ant.java.version}"/>
  </not>
 </condition>
 <fail unless="javaatleast17" message="Please upgrade java to at least 1.7. Current Java version is ${ant.java.version}"/>

 <dirname property="ofbiz.home.dir" file="${ant.file.Ant - Macros}"/>
 <macrodef name="iterate">
  <attribute name="filelist" default="subdirs"/>
  <attribute name="target" default=""/>
  <attribute name="inheritall" default="false"/>
  <sequential>
   <subant target="@{target}" inheritall="@{inheritall}">
    <filelist refid="@{filelist}"/>
   </subant>
  </sequential>
 </macrodef>

 <patternset id="src.inc.set">
  <include name="**/*.java"/>
 </patternset>
 <patternset id="src.exc.set"/>

 <path id="groovy.class.path">
  <pathelement location="${ofbiz.home.dir}/framework/base/lib/scripting/groovy-all-2.4.5.jar"/>
 </path>
 <path id="rhino.class.path">
  <pathelement location="${ofbiz.home.dir}/extension/rhino/lib/js-1.7.R1.jar"/>
 </path>
 <path id="junit.class.path">
  <fileset dir="${ofbiz.home.dir}/framework/base/lib/scripting/" includes="*.jar"/>
  <pathelement location="${ofbiz.home.dir}/framework/base/lib/ant/ant-apache-bsf-1.7.1.jar"/>
 </path>
 <path id="cobertura.class.path">
  <pathelement location="${ofbiz.home.dir}/framework/base/lib/cobertura-1.9.4.1.jar" />
  <pathelement location="${ofbiz.home.dir}/framework/base/lib/log4j-1.2.17.jar" />
  <pathelement location="${ofbiz.home.dir}/framework/base/lib/scripting/asm-3.2.jar" />
  <pathelement location="${ofbiz.home.dir}/framework/base/lib/scripting/jakarta-oro-2.0.8.jar" />
 </path>
 <path id="local.class.path"/>
 <presetdef name="default-javac">
  <javac debug="on" deprecation="on" destdir="${build.dir}/classes" srcdir="${src.dir}" classpathref="local.class.path">
   <patternset refid="src.inc.set"/>
   <patternset refid="src.exc.set"/>
  </javac>
 </presetdef>

 <presetdef name="javac17">
  <default-javac compiler="javac1.7" target="1.7" source="1.7" encoding="UTF-8" includeantruntime="false">
   <compilerarg value="-Xlint:-path"/>
   <!--
   Please leave this line here.  It makes it easier to enable/disable it.
   <compilerarg value="-Xlint:unchecked"/>
   -->
  </default-javac>
 </presetdef>

 <presetdef name="default-javadoc">
    <javadoc classpathref="local.class.path"
             destdir="${build.dir}/javadocs"
             windowtitle="Apache OFBiz - ${desc}"
             useexternalfile="yes"
             maxmemory="512M"
             encoding="UTF-8"
             packagenames="org.ofbiz.*">
      <fileset dir="${basedir}" defaultexcludes="yes">
        <include name="**/*.java"/>
        <exclude name="**/ControlApplet.java"/>
        <exclude name="**/ShipmentScaleApplet.java"/>
        <exclude name="**/test/"/>
        <exclude name="**/cybersource/"/>
        <exclude name="**/PayPalServices.java"/>
        <exclude name="**/ideal/"/>
        <exclude name="**/orbital/"/>
        <exclude name="**/securepay/"/>
        <exclude name="**/verisign/"/>
        <exclude name="**/JREntityListIteratorDataSource.java"/>
        <exclude name="**/JRMapCollectionDataSource.java"/>
        <exclude name="**/openoffice/"/>
        <exclude name="**/JasperReportsXmlViewHandler.java"/>
        <exclude name="**/JasperReportsJXlsViewHandler.java"/>
        <exclude name="**/JasperReportsPoiXlsViewHandler.java"/>
      </fileset>
      <link href="http://java.sun.com/javase/7/docs/api/" offline="true" packagelistLoc="${ofbiz.home.dir}/tools/api-java17"/>
    </javadoc>
 </presetdef>

 <macrodef name="main-jar">
  <attribute name="jarfile" default="${build.dir}/lib/${name}.jar"/>
  <element name="main-pattern" optional="true"/>
  <element name="main-elements" optional="true"/>
  <sequential>
   <jar jarfile="@{jarfile}">
    <fileset dir="${build.dir}/classes">
     <exclude name="**/test"/>
     <exclude name="**/test/*"/>
     <main-pattern/>
    </fileset>
    <fileset dir="${src.extra.dir}">
     <and>
      <not>
       <or>
        <filename name="**/test"/>
        <filename name="**/test/*"/>
       </or>
      </not>
      <selector refid="src-extra-set"/>
     </and>
    </fileset>
    <!-- now add the NOTICE and LICENSE files to allow the jar file to be distributed alone -->
    <zipfileset dir="${ofbiz.home.dir}" prefix="META-INF" includes="NOTICE,LICENSE"/>
    <main-elements/>
   </jar>
  </sequential>
 </macrodef>

 <macrodef name="test-jar">
  <attribute name="jarfile" default="${build.dir}/lib/${name}-test.jar"/>
  <element name="test-selector" optional="true"/>
  <element name="test-elements" optional="true"/>
  <sequential>
   <jar jarfile="@{jarfile}">
    <fileset dir="${build.dir}/classes">
     <or>
      <filename name="**/test"/>
      <filename name="**/test/*"/>
      <test-selector/>
     </or>
    </fileset>
    <fileset dir="${src.dir}">
     <and>
      <filename name="**/test/*"/>
      <or>
       <test-selector/>
       <selector refid="src-extra-set"/>
      </or>
     </and>
    </fileset>
    <zipfileset dir="${ofbiz.home.dir}" prefix="META-INF" includes="NOTICE,LICENSE"/>
    <test-elements/>
   </jar>
  </sequential>
 </macrodef>

 <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="groovy.class.path"/>

 <presetdef name="default-groovyc">
  <groovyc destdir="${build.dir}/classes" srcdir="${src.dir}">
   <classpath>
    <path refid="local.class.path"/>
    <pathelement path="${build.dir}/classes"/>
   </classpath>
  </groovyc>
 </presetdef>
  <taskdef resource="net/sf/antcontrib/antlib.xml">
    <classpath>
        <pathelement location="${ofbiz.home.dir}/framework/base/lib/ant/ant-contrib-1.0b3.jar"/>
    </classpath>
  </taskdef>

 <presetdef name="externalsubant">
  <subant inheritall="false">
   <propertyset>
    <propertyref name="ofbiz.home.dir"/>
   </propertyset>
  </subant>
 </presetdef>
</project>
