<?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="javaatleast18"> | |
<not> | |
<matches pattern="^1\.[0-7]($|\..*)" string="${ant.java.version}"/> | |
</not> | |
</condition> | |
<fail unless="javaatleast18" message="Please upgrade java to at least 1.8. 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="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="javac18"> | |
<default-javac compiler="javac1.8" target="1.8" source="1.8" encoding="UTF-8" includeantruntime="false"> | |
<compilerarg value="-Xlint:-path"/> | |
<!-- | |
Please leave these lines here. It makes it easier to enable/disable it. | |
<compilerarg value="-Xlint:deprecation"/> | |
<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://docs.oracle.com/javase/8/docs/api" offline="true" packagelistLoc="${ofbiz.home.dir}/tools/api-java18"/> | |
</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> |