| <?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/commons/commons-cli-1.0.jar"/> |
| <pathelement location="${ofbiz.home.dir}/framework/base/lib/scripting/antlr-2.7.6.jar"/> |
| <pathelement location="${ofbiz.home.dir}/framework/base/lib/scripting/asm-3.2.jar"/> |
| <pathelement location="${ofbiz.home.dir}/framework/base/lib/scripting/groovy-all-2.2.1.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 Open for Business - ${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> |