Kelly O'Hair | 08094f7 | 2009-09-21 13:57:02 -0700 | [diff] [blame^] | 1 | <?xml version="1.0"?> |
| 2 | <!-- |
| 3 | Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. |
| 4 | 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 |
| 8 | published by the Free Software Foundation. Sun designates this |
| 9 | particular file as subject to the "Classpath" exception as provided |
| 10 | by Sun in the LICENSE file that accompanied this code. |
| 11 | |
| 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 | |
| 22 | Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| 23 | CA 95054 USA or visit www.sun.com if you need additional information or |
| 24 | have any questions. |
| 25 | --> |
| 26 | |
| 27 | <project name="jaxws" 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 |
| 39 | </description> |
| 40 | |
| 41 | <!-- Mac is special, need to downgrade these before build.properties. --> |
| 42 | <condition property="javac.source" value="1.5"> |
| 43 | <os family="mac"/> |
| 44 | </condition> |
| 45 | <condition property="javac.target" value="1.5"> |
| 46 | <os family="mac"/> |
| 47 | </condition> |
| 48 | |
| 49 | <!-- Project build properties. --> |
| 50 | <property file="build.properties"/> |
| 51 | |
| 52 | <!-- Get shared targets. --> |
| 53 | <import file="build-defs.xml"/> |
| 54 | |
| 55 | <!-- Initialization of directories needed for build. --> |
| 56 | <target name="init"> |
| 57 | <mkdir dir="${build.dir}"/> |
| 58 | <mkdir dir="${build.classes.dir}"/> |
| 59 | <mkdir dir="${dist.dir}"/> |
| 60 | <mkdir dir="${dist.lib.dir}"/> |
| 61 | </target> |
| 62 | |
| 63 | <!-- Sanity checks and settings --> |
| 64 | <target name="sanity" |
| 65 | depends="-javac-jar-exists" |
| 66 | description="Display settings of configuration values"> |
| 67 | <echo message="${sanity.info}"/> |
| 68 | </target> |
| 69 | |
| 70 | <!-- Check for bootstrap javac.jar file, warn if missing. --> |
| 71 | <condition property="javac.jar.exists"> |
| 72 | <available file="${javac.jar}" type="file"/> |
| 73 | </condition> |
| 74 | <target name="-javac-jar-exists" |
| 75 | unless="javac.jar.exists"> |
| 76 | <echo message="WARNING: Cannot find ${javac.jar}"/> |
| 77 | </target> |
| 78 | |
| 79 | <!-- Creation of distribution files to jdk build process. --> |
| 80 | <target name="dist" |
| 81 | depends="init, -init-src-dirs, build, -dist-classes-jar, -dist-src-zip" |
| 82 | description="Create all built distribution files."> |
| 83 | </target> |
| 84 | <target name="-dist-classes-jar-uptodate" |
| 85 | depends="init, -init-src-dirs"> |
| 86 | <condition property="dist.classes.jar.uptodate"> |
| 87 | <and> |
| 88 | <available file="${dist.classes.jar}" type="file"/> |
| 89 | <uptodate targetfile="${dist.classes.jar}"> |
| 90 | <srcfiles dir="${build.classes.dir}" includes="**"/> |
| 91 | </uptodate> |
| 92 | </and> |
| 93 | </condition> |
| 94 | </target> |
| 95 | <target name="-dist-classes-jar" |
| 96 | depends="init, -init-src-dirs, -dist-classes-jar-uptodate" |
| 97 | unless="dist.classes.jar.uptodate"> |
| 98 | <delete file="${dist.classes.jar}"/> |
| 99 | <jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/> |
| 100 | </target> |
| 101 | |
| 102 | <target name="-build-prep" |
| 103 | depends="init, -init-src-dirs, -drop-build-prep"> |
| 104 | </target> |
| 105 | |
| 106 | <!-- Build (compilation) of sources to class files. --> |
| 107 | <target name="build" |
| 108 | depends="init, -init-src-dirs, -build-prep"> |
| 109 | <javac fork="true" |
| 110 | destdir="${build.classes.dir}" |
| 111 | memoryInitialSize="${javac.memoryInitialSize}" |
| 112 | memoryMaximumSize="${javac.memoryMaximumSize}" |
| 113 | source="${javac.source}" |
| 114 | debug="${javac.debug}" |
| 115 | target="${javac.target}"> |
| 116 | <compilerarg value="-J-Xbootclasspath/p:${javac.jar}"/> |
| 117 | <compilerarg line="${javac.version.opt} ${javac.lint.opts} ${javac.no.jdk.warnings}"/> |
| 118 | <src refid="src.dir.id"/> |
| 119 | </javac> |
| 120 | </target> |
| 121 | |
| 122 | <!-- Test. (FIXME: Need to know how to run tests.) --> |
| 123 | <target name="test" |
| 124 | depends="init, -init-src-dirs, dist"> |
| 125 | <echo message="FIXME: How do you run the tests"/> |
| 126 | </target> |
| 127 | |
| 128 | <!-- Populate source area if needed. --> |
| 129 | <target name="source" |
| 130 | depends="init, -init-src-dirs" |
| 131 | description="Populate all source file directories"> |
| 132 | </target> |
| 133 | |
| 134 | <!-- Clean up compiled files. --> |
| 135 | <target name="clean" |
| 136 | description="Delete all generated files"> |
| 137 | <delete dir="${build.dir}"/> |
| 138 | <delete dir="${dist.dir}"/> |
| 139 | </target> |
| 140 | |
| 141 | <!-- Clean up compiled files and all imported source files. --> |
| 142 | <target name="clobber" |
| 143 | depends="clean" |
| 144 | description="Delete all generated files, including imported sources"> |
| 145 | <delete dir="${drop.dir}"/> |
| 146 | </target> |
| 147 | |
| 148 | <target name="-banner"> |
| 149 | <echo message="+---------------------------------------+"/> |
| 150 | <echo message="+ Starting ant project ${ant.project.name} +"/> |
| 151 | <echo message="+---------------------------------------+"/> |
| 152 | </target> |
| 153 | |
| 154 | <!-- Do everything but test. --> |
| 155 | <target name="all" |
| 156 | depends="-banner, sanity, dist" |
| 157 | description="Build everything."> |
| 158 | <echo message="+---------------------------------------+"/> |
| 159 | <echo message="+ Finishing ant project ${ant.project.name}"/> |
| 160 | <echo message="+---------------------------------------+"/> |
| 161 | </target> |
| 162 | |
| 163 | </project> |