build.xml revision 90
0N/A<?xml version="1.0"?>
553N/A<!--
0N/A Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
0N/A DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A
0N/A This code is free software; you can redistribute it and/or modify it
0N/A under the terms of the GNU General Public License version 2 only, as
0N/A published by the Free Software Foundation. Sun designates this
0N/A particular file as subject to the "Classpath" exception as provided
0N/A by Sun in the LICENSE file that accompanied this code.
0N/A
0N/A This code is distributed in the hope that it will be useful, but WITHOUT
0N/A ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A version 2 for more details (a copy is included in the LICENSE file that
0N/A accompanied this code).
0N/A
0N/A You should have received a copy of the GNU General Public License version
553N/A 2 along with this work; if not, write to the Free Software Foundation,
553N/A Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
553N/A
0N/A Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
0N/A CA 95054 USA or visit www.sun.com if you need additional information or
0N/A have any questions.
0N/A-->
0N/A
765N/A<project name="jaxws" default="all" basedir=".">
0N/A
0N/A <!-- For 'ant -p' or 'ant -projecthelp' -->
0N/A
0N/A <description>
0N/A Ant build script for the ${ant.project.name} part of the jdk.
0N/A
0N/A Input Properties: (see build.properties for the ant defaults)
0N/A bootstrap.dir - dir with lib/javac.jar, added to javac bootclasspath
0N/A javac.debug - true or false for debug classfiles
0N/A javac.target - classfile version target
0N/A javac.source - source version
0N/A </description>
0N/A
0N/A <!-- Mac is special, need to downgrade these before build.properties. -->
0N/A <condition property="javac.source" value="1.5">
0N/A <os family="mac"/>
0N/A </condition>
0N/A <condition property="javac.target" value="1.5">
0N/A <os family="mac"/>
765N/A </condition>
0N/A
0N/A <!-- Project build properties. -->
0N/A <property file="build.properties"/>
765N/A
0N/A <!-- See if drop sources were included. -->
0N/A <condition property="drop.dir"
0N/A value="${drop.included.dir}"
765N/A else="${drop.expanded.dir}">
0N/A <available file="${drop.included.dir}" type="dir"/>
0N/A </condition>
0N/A
0N/A <!-- Get shared targets. -->
0N/A <import file="build-defs.xml"/>
0N/A
0N/A <!-- Initialization of directories needed for build. -->
0N/A <target name="init">
0N/A <mkdir dir="${build.dir}"/>
0N/A <mkdir dir="${build.classes.dir}"/>
0N/A <mkdir dir="${dist.dir}"/>
0N/A <mkdir dir="${dist.lib.dir}"/>
0N/A </target>
0N/A
0N/A <!-- Sanity checks and settings -->
0N/A <target name="sanity"
0N/A depends="-javac-jar-exists"
0N/A description="Display settings of configuration values">
0N/A <echo message="${sanity.info}"/>
0N/A </target>
0N/A
0N/A <!-- Check for bootstrap javac.jar file, warn if missing. -->
0N/A <condition property="javac.jar.exists">
0N/A <available file="${javac.jar}" type="file"/>
0N/A </condition>
0N/A <target name="-javac-jar-exists"
0N/A unless="javac.jar.exists">
0N/A <echo message="WARNING: Cannot find ${javac.jar}"/>
0N/A </target>
0N/A
0N/A <!-- Creation of distribution files to jdk build process. -->
0N/A <target name="dist"
depends="init, -init-src-dirs, build, -dist-classes-jar, -dist-src-zip"
description="Create all built distribution files.">
</target>
<target name="-dist-classes-jar-uptodate"
depends="init, -init-src-dirs">
<condition property="dist.classes.jar.uptodate">
<and>
<available file="${dist.classes.jar}" type="file"/>
<uptodate targetfile="${dist.classes.jar}">
<srcfiles dir="${build.classes.dir}" includes="**"/>
</uptodate>
</and>
</condition>
</target>
<target name="-dist-classes-jar"
depends="init, -init-src-dirs, -dist-classes-jar-uptodate"
unless="dist.classes.jar.uptodate">
<delete file="${dist.classes.jar}"/>
<jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
</target>
<target name="-build-prep"
depends="init, -init-src-dirs, -drop-build-prep">
</target>
<!-- Build (compilation) of sources to class files. -->
<target name="build"
depends="init, -init-src-dirs, -build-prep">
<javac fork="true"
destdir="${build.classes.dir}"
memoryInitialSize="${javac.memoryInitialSize}"
memoryMaximumSize="${javac.memoryMaximumSize}"
source="${javac.source}"
debug="${javac.debug}"
target="${javac.target}">
<compilerarg value="-J-Xbootclasspath/p:${javac.jar}"/>
<compilerarg line="${javac.version.opt} ${javac.lint.opts} ${javac.no.jdk.warnings}"/>
<src refid="src.dir.id"/>
</javac>
</target>
<!-- Test. (FIXME: Need to know how to run tests.) -->
<target name="test"
depends="init, -init-src-dirs, dist">
<echo message="FIXME: How do you run the tests"/>
</target>
<!-- Populate source area if needed. -->
<target name="source"
depends="init, -init-src-dirs"
description="Populate all source file directories">
</target>
<!-- Populate drop_included area. -->
<target name="drop_included"
depends="clobber"
description="Populate all source file directories">
<delete dir="${drop.included.dir}"/>
<antcall target="source"/>
<move file="${drop.expanded.dir}" tofile="${drop.included.dir}"/>
<delete dir="${drop.included.dir}/bundles"/>
</target>
<!-- Clean up compiled files. -->
<target name="clean"
description="Delete all generated files">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
</target>
<!-- Clean up compiled files and all imported source files. -->
<target name="clobber"
depends="clean"
description="Delete all generated files, including imported sources">
<delete dir="${drop.expanded.dir}"/>
</target>
<target name="-banner">
<echo message="+---------------------------------------+"/>
<echo message="+ Starting ant project ${ant.project.name} +"/>
<echo message="+---------------------------------------+"/>
</target>
<!-- Do everything but test. -->
<target name="all"
depends="-banner, sanity, dist"
description="Build everything.">
<echo message="+---------------------------------------+"/>
<echo message="+ Finishing ant project ${ant.project.name}"/>
<echo message="+---------------------------------------+"/>
</target>
</project>