xref: /aoo4110/main/xmerge/workben/build.xml (revision b1cdbd2c)
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