1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?> 2*b1cdbd2cSJim Jagielski<!--*********************************************************** 3*b1cdbd2cSJim Jagielski * 4*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 5*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 6*b1cdbd2cSJim Jagielski * distributed with this work for additional information 7*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 8*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 9*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 10*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 11*b1cdbd2cSJim Jagielski * 12*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 13*b1cdbd2cSJim Jagielski * 14*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 15*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 16*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 18*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 19*b1cdbd2cSJim Jagielski * under the License. 20*b1cdbd2cSJim Jagielski * 21*b1cdbd2cSJim Jagielski ***********************************************************--> 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski<project name="xmrg_workben" default="main" basedir="."> 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski <!-- ================================================================= --> 27*b1cdbd2cSJim Jagielski <!-- settings --> 28*b1cdbd2cSJim Jagielski <!-- ================================================================= --> 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski <!-- project prefix, used for targets and build.lst --> 31*b1cdbd2cSJim Jagielski <property name="prj.prefix" value="xmrg"/> 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski <!-- name of this sub target used in recursive builds --> 34*b1cdbd2cSJim Jagielski <property name="target" value="xmrg_workben"/> 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski <!-- relative path to project directory --> 37*b1cdbd2cSJim Jagielski <property name="prj" value=".."/> 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski <!-- start of java source code package structure --> 40*b1cdbd2cSJim Jagielski <property name="java.dir" value="${prj}/workben"/> 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski <!-- path component for current java package --> 43*b1cdbd2cSJim Jagielski <property name="package" value="."/> 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski <!-- define how to handle CLASSPATH environment --> 46*b1cdbd2cSJim Jagielski <property name="build.sysclasspath" value="ignore"/> 47*b1cdbd2cSJim Jagielski 48*b1cdbd2cSJim Jagielski <property environment="env"/> 49*b1cdbd2cSJim Jagielski <property name="env.XML_APIS_JAR" value="${solar.jar}/xml-apis.jar"/> 50*b1cdbd2cSJim Jagielski <property name="env.XERCES_JAR" value="${solar.jar}/xercesImpl.jar"/> 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski <!-- classpath settings for javac tasks --> 53*b1cdbd2cSJim Jagielski <path id="classpath"> 54*b1cdbd2cSJim Jagielski <pathelement location="${build.class}"/> 55*b1cdbd2cSJim Jagielski <pathelement location="${env.XML_APIS_JAR}"/> 56*b1cdbd2cSJim Jagielski <pathelement location="${env.XERCES_JAR}"/> 57*b1cdbd2cSJim Jagielski </path> 58*b1cdbd2cSJim Jagielski 59*b1cdbd2cSJim Jagielski <!-- set wether we want to compile with or without deprecation --> 60*b1cdbd2cSJim Jagielski <property name="deprecation" value="on"/> 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski <!-- ================================================================= --> 63*b1cdbd2cSJim Jagielski <!-- solar build environment targets --> 64*b1cdbd2cSJim Jagielski <!-- ================================================================= --> 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski <target name="build_dir" unless="build.dir"> 67*b1cdbd2cSJim Jagielski <property name="build.dir" value="${out}"/> 68*b1cdbd2cSJim Jagielski </target> 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski <target name="solar" depends="build_dir" if="solar.update"> 71*b1cdbd2cSJim Jagielski <property name="solar.properties" 72*b1cdbd2cSJim Jagielski value="${solar.bin}/solar.properties"/> 73*b1cdbd2cSJim Jagielski </target> 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski <target name="init" depends="solar"> 76*b1cdbd2cSJim Jagielski <property name="build.compiler" value="modern"/> 77*b1cdbd2cSJim Jagielski <property file="${solar.properties}"/> 78*b1cdbd2cSJim Jagielski <property file="${build.dir}/class/solar.properties"/> 79*b1cdbd2cSJim Jagielski </target> 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski <target name="info"> 82*b1cdbd2cSJim Jagielski <echo message="--------------------"/> 83*b1cdbd2cSJim Jagielski <echo message="${target}"/> 84*b1cdbd2cSJim Jagielski <echo message="--------------------"/> 85*b1cdbd2cSJim Jagielski </target> 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski <!-- ================================================================= --> 89*b1cdbd2cSJim Jagielski <!-- custom targets --> 90*b1cdbd2cSJim Jagielski <!-- ================================================================= --> 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski <!-- the main target, called in recursive builds --> 93*b1cdbd2cSJim Jagielski <target name="main" depends="info,prepare,compile"/> 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski <!-- prepare output directories --> 96*b1cdbd2cSJim Jagielski <target name="prepare" depends="init" if="build.class"> 97*b1cdbd2cSJim Jagielski <mkdir dir="${build.dir}"/> 98*b1cdbd2cSJim Jagielski <mkdir dir="${build.class}"/> 99*b1cdbd2cSJim Jagielski </target> 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski <!-- compile java sources in ${package} and sub packages --> 102*b1cdbd2cSJim Jagielski <target name="compile" depends="prepare" if="build.class"> 103*b1cdbd2cSJim Jagielski <javac srcdir="${java.dir}" 104*b1cdbd2cSJim Jagielski destdir="${build.class}" 105*b1cdbd2cSJim Jagielski debug="${debug}" 106*b1cdbd2cSJim Jagielski deprecation="${deprecation}" 107*b1cdbd2cSJim Jagielski optimize="${optimize}"> 108*b1cdbd2cSJim Jagielski <classpath refid="classpath"/> 109*b1cdbd2cSJim Jagielski <include name="XmlDiff.java"/> 110*b1cdbd2cSJim Jagielski </javac> 111*b1cdbd2cSJim Jagielski </target> 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski <!-- clean up --> 114*b1cdbd2cSJim Jagielski <target name="clean" depends="prepare"> 115*b1cdbd2cSJim Jagielski <delete includeEmptyDirs="true"> 116*b1cdbd2cSJim Jagielski <fileset dir="${build.class}"> 117*b1cdbd2cSJim Jagielski <patternset> 118*b1cdbd2cSJim Jagielski <include name="${package}/**/*.class"/> 119*b1cdbd2cSJim Jagielski </patternset> 120*b1cdbd2cSJim Jagielski </fileset> 121*b1cdbd2cSJim Jagielski </delete> 122*b1cdbd2cSJim Jagielski </target> 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski</project> 125