blob: 3c4fda2916b40413e18025467b7ff2cdf17129cc [file] [log] [blame]
Kelly O'Hair31015d22009-09-21 13:54:55 -07001<?xml version="1.0"?>
2<!--
Kelly O'Hair502320f2011-04-06 20:15:38 -07003 Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
Kelly O'Hair31015d22009-09-21 13:54:55 -07004 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
6 This code is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License version 2 only, as
Kelly O'Hair149a47c2010-05-25 15:52:44 -07008 published by the Free Software Foundation. Oracle designates this
Kelly O'Hair31015d22009-09-21 13:54:55 -07009 particular file as subject to the "Classpath" exception as provided
Kelly O'Hair149a47c2010-05-25 15:52:44 -070010 by Oracle in the LICENSE file that accompanied this code.
Kelly O'Hair31015d22009-09-21 13:54:55 -070011
12 This code is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 version 2 for more details (a copy is included in the LICENSE file that
16 accompanied this code).
17
18 You should have received a copy of the GNU General Public License version
19 2 along with this work; if not, write to the Free Software Foundation,
20 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21
Kelly O'Hair149a47c2010-05-25 15:52:44 -070022 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23 or visit www.oracle.com if you need additional information or have any
24 questions.
Kelly O'Hair31015d22009-09-21 13:54:55 -070025-->
26
27<project name="jaxp" default="all" basedir=".">
28
29 <!-- For 'ant -p' or 'ant -projecthelp' -->
30
31 <description>
32 Ant build script for the ${ant.project.name} part of the jdk.
33
34 Input Properties: (see build.properties for the ant defaults)
35 bootstrap.dir - dir with lib/javac.jar, added to javac bootclasspath
36 javac.debug - true or false for debug classfiles
37 javac.target - classfile version target
38 javac.source - source version
Kelly O'Haircafa9bd2010-06-17 10:50:14 -070039 drops.dir - directory that holds source drop bundles
40 allow.download - permit downloads from public url (default is false)
41 (used if bundles not found in drops.dir)
42
43 Run 'make help' for help using the Makefile.
Kelly O'Hair31015d22009-09-21 13:54:55 -070044 </description>
45
46 <!-- Mac is special, need to downgrade these before build.properties. -->
47 <condition property="javac.source" value="1.5">
48 <os family="mac"/>
49 </condition>
50 <condition property="javac.target" value="1.5">
51 <os family="mac"/>
52 </condition>
53
54 <!-- Project build properties. -->
55 <property file="build.properties"/>
56
Kelly O'Hair855418d2009-10-23 11:05:51 -070057 <!-- See if drop sources were included. -->
58 <condition property="drop.dir"
59 value="${drop.included.dir}"
60 else="${drop.expanded.dir}">
61 <available file="${drop.included.dir}" type="dir"/>
62 </condition>
63
Kelly O'Hair31015d22009-09-21 13:54:55 -070064 <!-- Get shared targets. -->
65 <import file="build-defs.xml"/>
66
67 <!-- Initialization of directories needed for build. -->
68 <target name="init">
69 <mkdir dir="${build.dir}"/>
70 <mkdir dir="${build.classes.dir}"/>
71 <mkdir dir="${dist.dir}"/>
72 <mkdir dir="${dist.lib.dir}"/>
73 </target>
74
75 <!-- Sanity checks and settings -->
76 <target name="sanity"
77 depends="-javac-jar-exists"
78 description="Display settings of configuration values">
79 <echo message="${sanity.info}"/>
80 </target>
81
82 <!-- Check for bootstrap javac.jar file, warn if missing. -->
83 <condition property="javac.jar.exists">
84 <available file="${javac.jar}" type="file"/>
85 </condition>
86 <target name="-javac-jar-exists"
87 unless="javac.jar.exists">
88 <echo message="WARNING: Cannot find ${javac.jar}"/>
89 </target>
90
91 <!-- Creation of distribution files to jdk build process. -->
92 <target name="dist"
93 depends="init, -init-src-dirs, build, -dist-classes-jar, -dist-src-zip"
94 description="Create all built distribution files.">
95 </target>
96 <target name="-dist-classes-jar-uptodate"
97 depends="init, -init-src-dirs">
98 <condition property="dist.classes.jar.uptodate">
99 <and>
100 <available file="${dist.classes.jar}" type="file"/>
101 <uptodate targetfile="${dist.classes.jar}">
102 <srcfiles dir="${build.classes.dir}" includes="**"/>
103 </uptodate>
104 </and>
105 </condition>
106 </target>
107 <target name="-dist-classes-jar"
108 depends="init, -init-src-dirs, -dist-classes-jar-uptodate"
109 unless="dist.classes.jar.uptodate">
110 <delete file="${dist.classes.jar}"/>
111 <jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
112 </target>
113
Kelly O'Haircafa9bd2010-06-17 10:50:14 -0700114 <target name="-build-setup"
115 depends="init, -init-src-dirs, -drop-build-setup">
Kelly O'Hair31015d22009-09-21 13:54:55 -0700116 </target>
117
118 <!-- Build (compilation) of sources to class files. -->
119 <target name="build"
Kelly O'Haircafa9bd2010-06-17 10:50:14 -0700120 depends="compile, -build-setup">
121 </target>
122 <target name="compile"
123 depends="init, -init-src-dirs">
124 <mkdir dir="${build.classes.dir}"/>
Kelly O'Hair59ea6ab2009-11-11 11:17:51 -0800125 <javac
Kelly O'Haircafa9bd2010-06-17 10:50:14 -0700126 includeAntRuntime="false"
127 classpath="${build.classes.dir}:${tools.jar}"
Kelly O'Hair59ea6ab2009-11-11 11:17:51 -0800128 fork="true"
Kelly O'Hair31015d22009-09-21 13:54:55 -0700129 destdir="${build.classes.dir}"
130 memoryInitialSize="${javac.memoryInitialSize}"
131 memoryMaximumSize="${javac.memoryMaximumSize}"
132 source="${javac.source}"
133 debug="${javac.debug}"
134 target="${javac.target}">
135 <compilerarg value="-J-Xbootclasspath/p:${javac.jar}"/>
136 <compilerarg line="${javac.version.opt} ${javac.lint.opts} ${javac.no.jdk.warnings}"/>
137 <src refid="src.dir.id"/>
138 </javac>
139 </target>
140
141 <!-- Test. (FIXME: Need to know how to run tests.) -->
142 <target name="test"
143 depends="init, -init-src-dirs, dist">
144 <echo message="FIXME: How do you run the tests"/>
145 </target>
146
147 <!-- Populate source area if needed. -->
148 <target name="source"
149 depends="init, -init-src-dirs"
150 description="Populate all source file directories">
151 </target>
152
Kelly O'Hair855418d2009-10-23 11:05:51 -0700153 <!-- Populate drop_included area. -->
154 <target name="drop_included"
155 depends="clobber"
156 description="Populate all source file directories">
157 <delete dir="${drop.included.dir}"/>
158 <antcall target="source"/>
159 <move file="${drop.expanded.dir}" tofile="${drop.included.dir}"/>
160 <delete dir="${drop.included.dir}/bundles"/>
161 </target>
162
Kelly O'Hair31015d22009-09-21 13:54:55 -0700163 <!-- Clean up compiled files. -->
164 <target name="clean"
165 description="Delete all generated files">
166 <delete dir="${build.dir}"/>
167 <delete dir="${dist.dir}"/>
168 </target>
169
170 <!-- Clean up compiled files and all imported source files. -->
171 <target name="clobber"
172 depends="clean"
173 description="Delete all generated files, including imported sources">
Kelly O'Hair855418d2009-10-23 11:05:51 -0700174 <delete dir="${drop.expanded.dir}"/>
Kelly O'Hair31015d22009-09-21 13:54:55 -0700175 </target>
176
177 <target name="-banner">
178 <echo message="+---------------------------------------+"/>
179 <echo message="+ Starting ant project ${ant.project.name} +"/>
180 <echo message="+---------------------------------------+"/>
181 </target>
182
183 <!-- Do everything but test. -->
184 <target name="all"
185 depends="-banner, sanity, dist"
186 description="Build everything.">
187 <echo message="+---------------------------------------+"/>
188 <echo message="+ Finishing ant project ${ant.project.name}"/>
189 <echo message="+---------------------------------------+"/>
190 </target>
191
192</project>