911f441787
Make it possible to use NetBeans to edit the jaxp sources and to generate a preview of the associated javadoc. Reviewed-by: joehw, alanb
218 lines
8.6 KiB
XML
218 lines
8.6 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
|
|
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
|
|
This code is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License version 2 only, as
|
|
published by the Free Software Foundation. Oracle designates this
|
|
particular file as subject to the "Classpath" exception as provided
|
|
by Oracle in the LICENSE file that accompanied this code.
|
|
|
|
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
version 2 for more details (a copy is included in the LICENSE file that
|
|
accompanied this code).
|
|
|
|
You should have received a copy of the GNU General Public License version
|
|
2 along with this work; if not, write to the Free Software Foundation,
|
|
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
or visit www.oracle.com if you need additional information or have any
|
|
questions.
|
|
-->
|
|
|
|
<project name="jaxp" default="all" basedir=".">
|
|
|
|
<!-- For 'ant -p' or 'ant -projecthelp' -->
|
|
|
|
<description>
|
|
Ant build script for the ${ant.project.name} part of the jdk.
|
|
|
|
Input Properties: (see build.properties for the ant defaults)
|
|
bootstrap.dir - dir with lib/javac.jar, added to javac bootclasspath
|
|
javac.debug - true or false for debug classfiles
|
|
javac.target - classfile version target
|
|
javac.source - source version
|
|
|
|
Run 'make help' for help using the Makefile.
|
|
</description>
|
|
|
|
<!-- Project build properties. -->
|
|
<property file="build.properties"/>
|
|
|
|
<!-- Source dir def -->
|
|
<property name="jaxp.src.dir" value="src"/>
|
|
<path id="src.dir.id">
|
|
<pathelement path="${jaxp.src.dir}"/>
|
|
</path>
|
|
|
|
<!-- Initialization of directories needed for build. -->
|
|
<target name="init">
|
|
<mkdir dir="${build.dir}"/>
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
<mkdir dir="${dist.dir}"/>
|
|
<mkdir dir="${dist.lib.dir}"/>
|
|
</target>
|
|
|
|
<!-- Sanity checks and settings -->
|
|
<target name="sanity"
|
|
depends="-javac-jar-exists"
|
|
description="Display settings of configuration values">
|
|
<echo message="${sanity.info}"/>
|
|
</target>
|
|
|
|
<!-- Check for bootstrap javac.jar file, warn if missing. -->
|
|
<condition property="javac.jar.exists">
|
|
<available file="${javac.jar}" type="file"/>
|
|
</condition>
|
|
<target name="-javac-jar-exists"
|
|
unless="javac.jar.exists">
|
|
<echo message="WARNING: Cannot find ${javac.jar}"/>
|
|
</target>
|
|
|
|
<!-- Creation of distribution files to jdk build process. -->
|
|
<target name="dist"
|
|
depends="init, build, -dist-classes-jar, -dist-src-zip"
|
|
description="Create all built distribution files.">
|
|
</target>
|
|
<target name="-dist-classes-jar-uptodate"
|
|
depends="init">
|
|
<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, -dist-classes-jar-uptodate"
|
|
unless="dist.classes.jar.uptodate">
|
|
<delete file="${dist.classes.jar}"/>
|
|
<jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
|
|
</target>
|
|
|
|
<!-- Special build area setup. -->
|
|
<target name="-build-setup" depends="init">
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
<copy todir="${build.classes.dir}">
|
|
<fileset dir="${jaxp.src.dir}"
|
|
includes="**/*.properties"/>
|
|
</copy>
|
|
<replaceregexp match="#(.*)$" replace="#" flags="gm">
|
|
<fileset dir="${build.classes.dir}" includes="**/*.properties"/>
|
|
</replaceregexp>
|
|
</target>
|
|
|
|
<!-- Create src.zip. -->
|
|
<target name="-dist-src-zip" depends="init">
|
|
<zip file="${dist.src.zip}" basedir="${jaxp.src.dir}"/>
|
|
</target>
|
|
|
|
<!-- Build (compilation) of sources to class files. -->
|
|
<target name="build"
|
|
depends="compile, -build-setup">
|
|
</target>
|
|
<target name="compile"
|
|
depends="init">
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
<javac
|
|
includeAntRuntime="false"
|
|
classpath="${build.classes.dir}:${tools.jar}"
|
|
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, dist">
|
|
<echo message="FIXME: How do you run the tests"/>
|
|
</target>
|
|
|
|
<!-- Populate source area if needed. -->
|
|
<target name="source"
|
|
depends="init"
|
|
description="Populate all source file directories">
|
|
</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">
|
|
</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>
|
|
|
|
<target name="javadoc" depends="init" description="Build basic Javadoc for public packages.">
|
|
<property name="javadoc.options" value=""/> <!-- default, can be overridden per user or per project -->
|
|
<!-- Note: even with this default value, includes/excludes
|
|
from share.src.dir get javadoc'd; see packageset below -->
|
|
<property name="javadoc.packagenames" value="none"/> <!-- default, can be overridden per user or per project -->
|
|
<property name="javadoc.dir" value="${build.dir}/docs/api"/>
|
|
<property name="includes" value="**"/>
|
|
<javadoc destdir="${javadoc.dir}" source="1.5"
|
|
windowtitle="UNOFFICIAL" failonerror="true" use="true"
|
|
author="false" version="false"
|
|
packagenames="${javadoc.packagenames}">
|
|
<header><![CDATA[<strong>Unofficial Javadoc</strong> generated from developer sources for preview purposes only]]></header>
|
|
<arg line="${javadoc.options}"/>
|
|
<bootclasspath>
|
|
<path location="${java.home}/lib/rt.jar"/>
|
|
<path location="${build.classes.dir}"/>
|
|
</bootclasspath>
|
|
<sourcepath>
|
|
<pathelement location="${jaxp.src.dir}"/>
|
|
</sourcepath>
|
|
<!-- XXX just <fileset> (restricted further to **/*.java) and no <packageset> -->
|
|
<!-- means that {@link some.package} will not work, which is no good. -->
|
|
<!-- (It correctly skips excluded single classes, but not if packageset is also included, -->
|
|
<!-- which also causes duplicates in the class index for included files.) -->
|
|
<packageset dir="${jaxp.src.dir}" includes="${includes}" excludes="${excludes}">
|
|
<or>
|
|
<filename name="javax/"/>
|
|
<filename name="org/w3c/"/>
|
|
<filename name="org/xml/sax/"/>
|
|
</or>
|
|
</packageset>
|
|
</javadoc>
|
|
</target>
|
|
<target name="javadoc-nb" depends="javadoc" if="netbeans.home">
|
|
<property name="javadoc.dir=" value="${build.dir}/docs/api"/>
|
|
<nbbrowse file="${javadoc.dir}/index.html"/>
|
|
</target>
|
|
|
|
</project>
|