annotate make/langtools/build.xml @ 51266:f8696e0ab9b7

8208524: IntelliJ support broken since 2018.2 Summary: Move build.xml out of .idea folder Reviewed-by: stuefe
author mcimadamore
date Tue, 31 Jul 2018 16:49:51 +0100
parents 54eda3aad6dd
children 7e5f08c619e3
rev   line source
duke@10 1 <?xml version="1.0" encoding="UTF-8"?>
duke@10 2 <!--
jjg@48406 3 ~ Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
alanb@36526 4 ~ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
alanb@36526 5 ~
alanb@36526 6 ~ This code is free software; you can redistribute it and/or modify it
alanb@36526 7 ~ under the terms of the GNU General Public License version 2 only, as
alanb@36526 8 ~ published by the Free Software Foundation. Oracle designates this
alanb@36526 9 ~ particular file as subject to the "Classpath" exception as provided
alanb@36526 10 ~ by Oracle in the LICENSE file that accompanied this code.
alanb@36526 11 ~
alanb@36526 12 ~ This code is distributed in the hope that it will be useful, but WITHOUT
alanb@36526 13 ~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
alanb@36526 14 ~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
alanb@36526 15 ~ version 2 for more details (a copy is included in the LICENSE file that
alanb@36526 16 ~ accompanied this code).
alanb@36526 17 ~
alanb@36526 18 ~ You should have received a copy of the GNU General Public License version
alanb@36526 19 ~ 2 along with this work; if not, write to the Free Software Foundation,
alanb@36526 20 ~ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
alanb@36526 21 ~
alanb@36526 22 ~ Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
alanb@36526 23 ~ or visit www.oracle.com if you need additional information or have any
alanb@36526 24 ~ questions.
alanb@36526 25 -->
duke@10 26
duke@10 27 <!--
jlahoda@27546 28 This is a convenience build file supporting development in the langtools
jlahoda@27546 29 repository. It can be run either standalone, or from IDEs. This build script
jlahoda@27546 30 is for a developer use only, it is not used to build the production version
jlahoda@27546 31 of javac or other langtools tools.
jjg@5845 32
jjg@5845 33 External dependencies are specified via properties. These can be given
jjg@5845 34 on the command line, or by providing a local build.properties file.
jjg@5845 35 (They can also be edited into make/build.properties, although that is not
alanb@36526 36 recommended.) At a minimum, langtools.jdk.home must be set to the installed
jjg@5845 37 location of the version of JDK used to build this repository. Additional
jjg@5845 38 properties may be required, depending on the targets that are built.
alanb@36526 39 For example, to run any of the jtreg tests you must set jtreg.home.
jjg@5845 40
alanb@36526 41 The output of the build is as follows:
jjg@5845 42
alanb@36526 43 build
jjg@48406 44 |-bin (scripts to invoke various tools, javac etc.)
alanb@36526 45 |-genrsc (generated sources - i.e. properties)
alanb@36526 46 |-modules (compiled classes in a modular layout)
alanb@36526 47 |-jtreg (test work/results)
alanb@36526 48 |-toolclasses (tools used for building - like the property compiler)
jjg@5845 49
jjg@5845 50 This file is organized into sections as follows:
jjg@5845 51 - global property definitions
alanb@36526 52 - primary top level targets (cleaning, building)
jjg@5845 53 - utility definitions
duke@10 54 -->
duke@10 55
erikj@47217 56 <project name="langtools" default="build" basedir="../..">
jjg@5845 57 <!--
jjg@5845 58 **** Global property definitions.
jjg@5845 59 -->
jjg@3655 60
duke@10 61 <!-- The following locations can be used to override default property values. -->
duke@10 62
duke@10 63 <!-- Use this location for customizations specific to this instance of this workspace -->
erikj@47217 64 <property file="make/langtools/build.properties"/>
duke@10 65
duke@10 66 <!-- Use this location for customizations common to all OpenJDK langtools workspaces -->
duke@10 67 <property file="${user.home}/.openjdk/${ant.project.name}-build.properties"/>
duke@10 68
duke@10 69 <!-- Use this location for customizations common to all OpenJDK workspaces -->
duke@10 70 <property file="${user.home}/.openjdk/build.properties"/>
jjg@3655 71
jjg@3655 72 <!-- Convenient shorthands for standard locations within the workspace. -->
alanb@36526 73 <property name="src.dir" location="src"/>
alanb@36526 74 <property name="test.dir" location="test"/>
erikj@47217 75 <property name="make.dir" location="make/langtools"/>
ksrini@11054 76 <property name="make.conf.dir" location="${make.dir}/conf"/>
duke@10 77 <property name="make.tools.dir" location="${make.dir}/tools"/>
erikj@47217 78 <property name="build.dir" location="build/langtools"/>
mcimadamore@51266 79 <property name="idea.support.dir" location="build/.idea-support"/>
alanb@36526 80 <property name="build.modules" location="${build.dir}/modules"/>
alanb@36526 81 <property name="build.gensrc" location="${build.dir}/gensrc"/>
alanb@36526 82 <property name="build.tools" location="${build.dir}/toolclasses"/>
alanb@36526 83 <property name="build.bin" location="${build.dir}/bin"/>
alanb@36526 84 <property name="build.jtreg" location="${build.dir}/jtreg"/>
alanb@36526 85 <property name="build.prevsrc" location="${build.dir}/prevsrc"/>
duke@10 86
erikj@47217 87 <dirset id="src.module.dirset" dir="${src.dir}" includes="${module.names}"/>
mcimadamore@37851 88
erikj@47217 89 <pathconvert pathsep="," property="src.module.dirs" refid="src.module.dirset"/>
erikj@47217 90
erikj@47217 91 <pathconvert property="xpatch.rest" pathsep=" --patch-module=" refid="src.module.dirset">
mcimadamore@44461 92 <scriptmapper language="javascript">
mcimadamore@44461 93 fs = project.getProperty("file.separator");
mcimadamore@44461 94 path = project.getProperty("build.modules");
mcimadamore@44461 95 mod = source.substr(source.lastIndexOf(fs)+1);
mcimadamore@44461 96 self.addMappedName(mod + "=\"" + path + fs + mod + "\"");
mcimadamore@44461 97 </scriptmapper>
mcimadamore@38609 98 </pathconvert>
mcimadamore@38609 99
erikj@47217 100 <pathconvert property="xpatch.noquotes.rest" pathsep=" --patch-module=" refid="src.module.dirset">
mcimadamore@44461 101 <scriptmapper language="javascript">
mcimadamore@44461 102 fs = project.getProperty("file.separator");
mcimadamore@44461 103 path = project.getProperty("build.modules");
mcimadamore@44461 104 mod = source.substr(source.lastIndexOf(fs)+1);
mcimadamore@44461 105 self.addMappedName(mod + "=" + path + fs + mod);
mcimadamore@44461 106 </scriptmapper>
mcimadamore@37851 107 </pathconvert>
mcimadamore@37851 108
jjg@40599 109 <property name="xpatch.cmd" value="--patch-module=${xpatch.rest}"/>
jjg@40599 110 <property name="xpatch.noquotes.cmd" value="--patch-module=${xpatch.noquotes.rest}"/>
chegar@25874 111
duke@10 112 <!-- java.marker is set to a marker file to check for within a Java install dir.
duke@10 113 The best file to check for across Solaris/Linux/Windows/MacOS is one of the
duke@10 114 executables; regrettably, that is OS-specific. -->
duke@10 115 <condition property="java.marker" value="bin/java">
jjg@3655 116 <os family="unix"/>
duke@10 117 </condition>
duke@10 118 <condition property="java.marker" value="bin/java.exe">
jjg@3655 119 <os family="windows"/>
duke@10 120 </condition>
jjg@3655 121
duke@10 122 <!-- Standard property values, if not overriden by earlier settings. -->
jjg@3655 123 <property file="${make.dir}/build.properties"/>
jjg@3654 124
alanb@36526 125 <condition property="langtools.jdk.home" value="${jdk.home}">
alanb@36526 126 <isset property="jdk.home" />
alanb@36526 127 </condition>
alanb@36526 128
jjg@3654 129 <!-- launcher.java is used in the launcher scripts provided to run
jjg@3655 130 the tools' jar files. If it has not already been set, then
alanb@36526 131 default it to use ${langtools.jdk.home}, if available, otherwise
jjg@3655 132 quietly default to simply use "java". -->
jjg@3655 133 <condition property="launcher.java"
alanb@36526 134 value="${langtools.jdk.home}/bin/java" else="java">
alanb@36526 135 <isset property="langtools.jdk.home"/>
jjg@3654 136 </condition>
jjg@3654 137
jjg@5845 138 <!--
alanb@36526 139 **** Check targets
jjg@5845 140 -->
jjg@3655 141
duke@10 142 <target name="-def-check">
alanb@36526 143 <macrodef name="check">
alanb@36526 144 <attribute name="name"/>
alanb@36526 145 <attribute name="property"/>
alanb@36526 146 <attribute name="marker" default=""/>
duke@10 147 <sequential>
duke@10 148 <fail message="Cannot locate @{name}: please set @{property} to its location">
duke@10 149 <condition>
duke@10 150 <not>
duke@10 151 <isset property="@{property}"/>
duke@10 152 </not>
duke@10 153 </condition>
duke@10 154 </fail>
duke@10 155 <fail message="@{name} is not installed in ${@{property}}">
duke@10 156 <condition>
jjg@5845 157 <and>
jjg@5845 158 <not>
jjg@5845 159 <equals arg1="@{marker}" arg2=""/>
jjg@5845 160 </not>
jjg@5844 161 <not>
jjg@5844 162 <available file="${@{property}}/@{marker}"/>
jjg@5844 163 </not>
jjg@5845 164 </and>
duke@10 165 </condition>
duke@10 166 </fail>
duke@10 167 </sequential>
duke@10 168 </macrodef>
duke@10 169 </target>
duke@10 170
alanb@36526 171 <target name="-check-langtools.jdk.home" depends="-def-check">
alanb@36526 172 <check name="target java" property="langtools.jdk.home" marker="${java.marker}"/>
alanb@36526 173 </target>
alanb@36526 174
alanb@36526 175 <target name="-check-jtreg.home" depends="-def-check">
alanb@36526 176 <check name="jtreg" property="jtreg.home" marker="lib/jtreg.jar"/>
alanb@36526 177 </target>
alanb@36526 178
alanb@36526 179 <!--
alanb@36526 180 **** Primary targets
alanb@36526 181 -->
alanb@36526 182
alanb@36526 183 <target name="clean" description="Delete all generated files">
alanb@36526 184 <delete dir="${build.dir}"/>
alanb@36526 185 </target>
alanb@36526 186
alanb@36526 187 <target name="build" depends="build-all-tools"/>
alanb@36526 188
alanb@36526 189 <target name="-prepare-build" depends="-check-langtools.jdk.home">
alanb@36526 190 <mkdir dir="${build.modules}"/>
alanb@36526 191 <mkdir dir="${build.tools}"/>
alanb@36526 192 <mkdir dir="${build.gensrc}"/>
alanb@36526 193 <mkdir dir="${build.bin}"/>
alanb@36526 194 <mkdir dir="${build.prevsrc}"/>
alanb@36526 195 </target>
alanb@36526 196
alanb@36526 197 <target name="generate-sources-internal">
alanb@36526 198 <basename property="module.name" file="${basedir}"/>
erikj@47217 199 <mkdir dir="${build.gensrc}/${module.name}"/>
alanb@36526 200 <pparse destdir="${build.gensrc}/${module.name}" includes="${langtools.resource.includes}">
alanb@36526 201 <src path="./share/classes"/>
alanb@36526 202 </pparse>
alanb@36526 203 <pcompile destdir="${build.gensrc}/${module.name}" includes="**/*.properties">
alanb@36526 204 <src path="./share/classes"/>
alanb@36526 205 </pcompile>
alanb@36526 206 </target>
alanb@36526 207
alanb@36526 208 <target name="generate-sources" depends="-prepare-build,-def-pparse,-def-pcompile">
alanb@36526 209 <subant inheritall="true" target="generate-sources-internal" genericantfile="${make.dir}/build.xml">
erikj@47217 210 <dirset refid="src.module.dirset"/>
alanb@36526 211 </subant>
alanb@36526 212 </target>
alanb@36526 213
alanb@36526 214 <target name="build-all-classes" depends="generate-sources">
erikj@47217 215 <pathconvert property="xpatch.src.rest" pathsep=" --patch-module=" refid="src.module.dirset">
erikj@47217 216 <scriptmapper language="javascript">
erikj@47217 217 fs = project.getProperty("file.separator");
erikj@47217 218 path_src = project.getProperty("src.dir");
erikj@47217 219 path_sep = project.getProperty("path.separator");
erikj@47217 220 path_gensrc = project.getProperty("build.gensrc");
erikj@47217 221 mod = source.substr(source.lastIndexOf(fs)+1);
erikj@47217 222 self.addMappedName(mod + "=" + path_src + fs + mod + path_sep + path_gensrc + fs + mod);
erikj@47217 223 </scriptmapper>
erikj@47217 224 </pathconvert>
erikj@47217 225 <property name="xpatch.src.cmd" value="--patch-module=${xpatch.src.rest}"/>
erikj@47217 226 <pathconvert pathsep="," property="gensrc.module.dirs">
erikj@47217 227 <dirset dir="${build.gensrc}" includes="${module.names}"/>
erikj@47217 228 </pathconvert>
erikj@47217 229 <multirootfileset id="source.fileset" basedirs="${src.module.dirs},${gensrc.module.dirs}">
erikj@47217 230 <include name="**/*.java"/>
erikj@47217 231 <different targetdir="${build.prevsrc}" ignoreFileTimes="true"/>
erikj@47217 232 </multirootfileset>
erikj@47217 233 <pathconvert pathsep=" " property="source.files" refid="source.fileset"/>
erikj@47217 234 <echo file="${build.dir}/sources.txt">${source.files}</echo>
alanb@36526 235 <exec executable="${langtools.jdk.home}/bin/javac" failonerror="true">
alanb@36526 236 <arg value="-d" />
alanb@36526 237 <arg value="${build.modules}" />
ksrini@41936 238 <arg line="${javac.opts}" />
erikj@47217 239 <arg line="${xpatch.src.cmd}" />
erikj@47217 240 <arg line="--module-source-path ." />
erikj@47217 241 <arg line="@${build.dir}/sources.txt" />
alanb@36526 242 </exec>
erikj@47217 243 <delete file="${build.dir}/sources.txt"/>
alanb@36526 244 <delete>
alanb@36526 245 <fileset dir="${build.modules}" includes="**/module-info.class"/>
alanb@36526 246 </delete>
erikj@47217 247 <!-- workaround for incremental compilation -->
erikj@47217 248 <copy todir="${build.prevsrc}" >
erikj@47217 249 <multirootfileset refid="source.fileset"/>
erikj@47217 250 </copy>
alanb@36526 251 </target>
alanb@36526 252
alanb@36526 253 <target name="build-all-tools" depends="build-all-classes, -def-build-tool">
alanb@36526 254 <build-tool name="javac"/>
alanb@36526 255 <build-tool name="javadoc"/>
alanb@36526 256 <build-tool name="javap"/>
alanb@36526 257 <build-tool name="jdeps"/>
alanb@36526 258 <build-tool name="sjavac"/>
alanb@36526 259 <build-tool name="jshell"/>
alanb@36526 260 </target>
alanb@36526 261
alanb@36526 262 <target name="jtreg" depends="build-all-tools,-def-jtreg">
alanb@36526 263 <jtreg-tool name="all" tests="${jtreg.tests}"/>
alanb@36526 264 </target>
alanb@36526 265
alanb@36526 266 <!--
alanb@36526 267 **** IDE support
alanb@36526 268 -->
alanb@36526 269
alanb@36526 270 <target name="idea" depends="-check-langtools.jdk.home">
alanb@36526 271 <mkdir dir=".idea"/>
alanb@36526 272 <copy todir=".idea" >
erikj@47217 273 <fileset dir="${make.dir}/intellij">
mcimadamore@39177 274 <exclude name="**/src/**"/>
mcimadamore@39177 275 <exclude name="**/utils/**"/>
mcimadamore@39177 276 </fileset>
alanb@36526 277 </copy>
mcimadamore@51266 278 <!-- move build.xml out of .idea, see IDEA-189915 -->
mcimadamore@51266 279 <mkdir dir="${idea.support.dir}"/>
mcimadamore@51266 280 <move todir="${idea.support.dir}" file=".idea/build.xml"/>
alanb@36526 281 <condition property="idea.jtreg.home" value="${jtreg.home}" else = "[jtreg.home]">
alanb@36526 282 <isset property="jtreg.home"/>
alanb@36526 283 </condition>
alanb@36526 284 <condition property="idea.target.jdk" value="${langtools.jdk.home}" else = "$JDKPath$">
alanb@36526 285 <isset property="langtools.jdk.home"/>
alanb@36526 286 </condition>
alanb@36526 287 <replace file=".idea/ant.xml" token="@IDEA_TARGET_JDK@" value="${idea.target.jdk}"/>
mcimadamore@38522 288 <replace dir=".idea/runConfigurations" token="@IDEA_TARGET_JDK@" value="${idea.target.jdk}"/>
mcimadamore@38522 289 <replace dir=".idea/runConfigurations" token="@XPATCH@" value="${xpatch.cmd}"/>
mcimadamore@40510 290 <replace file=".idea/misc.xml" token="@IDEA_JTREG_HOME@" value="${idea.jtreg.home}"/>
mcimadamore@40510 291 <replace file=".idea/misc.xml" token="@IDEA_TARGET_JDK@" value="${idea.target.jdk}"/>
mcimadamore@40510 292 <replace file=".idea/misc.xml" token="@XPATCH@" value="${xpatch.cmd}"/>
alanb@36526 293 <mkdir dir=".idea/classes"/>
mcimadamore@38507 294 <javac source="${javac.build.source}"
mcimadamore@38507 295 target="${javac.build.target}"
erikj@47217 296 srcdir="${make.dir}/intellij/src"
alanb@36526 297 destdir=".idea/classes"/>
alanb@36526 298 </target>
alanb@36526 299
alanb@36526 300 <!--
alanb@36526 301 **** Utility definitions
alanb@36526 302 -->
alanb@36526 303
alanb@36526 304 <target name="-def-pparse">
alanb@36526 305 <copy todir="${build.tools}/propertiesparser" >
alanb@36526 306 <fileset dir="${make.tools.dir}/propertiesparser" includes="**/resources/**"/>
alanb@36526 307 </copy>
mcimadamore@38507 308 <javac source="${javac.build.source}"
mcimadamore@38507 309 target="${javac.build.target}"
alanb@36526 310 srcdir="${make.tools.dir}"
alanb@36526 311 includes="propertiesparser/* anttasks/PropertiesParser* anttasks/PathFileSet*"
alanb@36526 312 destdir="${build.tools}"
alanb@36526 313 classpath="${ant.core.lib}"
alanb@36526 314 bootclasspath="${langtools.jdk.home}/jre/lib/rt.jar"
alanb@36526 315 includeantruntime="false">
jlahoda@41519 316 <compilerarg line="${javac.build.opts} -XDstringConcat=inline"/>
alanb@36526 317 </javac>
alanb@36526 318 <taskdef name="pparse"
alanb@36526 319 classname="anttasks.PropertiesParserTask"
alanb@36526 320 classpath="${build.tools}"/>
alanb@36526 321 </target>
alanb@36526 322
alanb@36526 323 <target name="-def-pcompile">
mcimadamore@38507 324 <javac
mcimadamore@38507 325 source="${javac.build.source}"
mcimadamore@38507 326 target="${javac.build.target}"
alanb@36526 327 srcdir="${make.tools.dir}"
alanb@36526 328 includes="compileproperties/* anttasks/CompileProperties* anttasks/PathFileSet*"
alanb@36526 329 destdir="${build.dir}/toolclasses/"
alanb@36526 330 classpath="${ant.core.lib}"
alanb@36526 331 includeantruntime="false">
jlahoda@41519 332 <compilerarg line="${javac.build.opts} -XDstringConcat=inline"/>
alanb@36526 333 </javac>
alanb@36526 334 <taskdef name="pcompile"
alanb@36526 335 classname="anttasks.CompilePropertiesTask"
alanb@36526 336 classpath="${build.tools}"/>
alanb@36526 337 </target>
alanb@36526 338
alanb@36526 339 <target name="-def-build-tool">
alanb@36526 340 <macrodef name="build-tool">
alanb@36526 341 <attribute name="name"/>
alanb@36526 342 <attribute name="compilation.kind" default=""/>
alanb@36526 343 <attribute name="bin.dir" default="${build.bin}"/>
alanb@36526 344 <attribute name="java" default="${launcher.java}"/>
alanb@36526 345 <attribute name="main.class" default="${tool.@{name}.main.class}"/>
mcimadamore@37851 346 <attribute name="xpatch" default="${xpatch.cmd}"/>
alanb@36526 347 <sequential>
alanb@36526 348 <mkdir dir="@{bin.dir}"/>
alanb@36526 349 <copy file="${make.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}">
alanb@36526 350 <filterset begintoken="#" endtoken="#">
alanb@36526 351 <filter token="PROGRAM" value="@{main.class}"/>
alanb@36526 352 <filter token="TARGET_JAVA" value="@{java}"/>
alanb@36526 353 <filter token="PS" value="${path.separator}"/>
mcimadamore@37851 354 <filter token="XPATCH" value="${xpatch.cmd}"/>
alanb@36526 355 </filterset>
alanb@36526 356 </copy>
alanb@36526 357 <chmod file="@{bin.dir}/@{name}" perm="ugo+rx"/>
alanb@36526 358 </sequential>
alanb@36526 359 </macrodef>
alanb@36526 360 </target>
alanb@36526 361
alanb@36526 362 <target name="-def-jtreg" unless="jtreg.defined" depends="-check-jtreg.home,-check-langtools.jdk.home">
alanb@36526 363 <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant">
alanb@36526 364 <classpath>
alanb@36526 365 <pathelement location="${jtreg.home}/lib/jtreg.jar"/>
alanb@36526 366 <pathelement location="${jtreg.home}/lib/javatest.jar"/>
alanb@36526 367 </classpath>
alanb@36526 368 </taskdef>
alanb@36526 369 <macrodef name="jtreg-tool">
alanb@36526 370 <attribute name="name"/>
alanb@36526 371 <attribute name="tests"/>
alanb@36526 372 <attribute name="jdk" default="${langtools.jdk.home}"/>
alanb@36526 373 <attribute name="agentvm" default="true"/>
alanb@36526 374 <attribute name="verbose" default="${default.jtreg.verbose}"/>
alanb@36526 375 <attribute name="options" default="${other.jtreg.options}"/>
mcimadamore@44461 376 <attribute name="ignore" default="-keywords:!ignore -exclude:${test.dir}/ProblemList.txt"/>
alanb@36526 377 <attribute name="jpda.jvmargs" default=""/>
alanb@36526 378 <attribute name="extra.jvmargs" default=""/>
alanb@36526 379 <attribute name="build.modules" default="${build.modules}"/>
alanb@36526 380 <sequential>
alanb@36526 381 <property name="coverage.options" value=""/> <!-- default -->
alanb@36526 382 <property name="coverage.classpath" value=""/> <!-- default -->
alanb@36526 383 <property name="default.jtreg.verbose" value="summary"/> <!-- default -->
alanb@36526 384 <property name="other.jtreg.options" value=""/> <!-- default -->
alanb@36526 385 <property name="jtreg.classfiles.to.modules" value="@{agentvm}"/>
alanb@36526 386 <jtreg
alanb@36526 387 dir="${test.dir}"
alanb@36526 388 workDir="${build.jtreg}/@{name}/work"
alanb@36526 389 reportDir="${build.jtreg}/@{name}/report"
alanb@36526 390 jdk="@{jdk}"
alanb@36526 391 agentvm="@{agentvm}" verbose="@{verbose}"
alanb@36526 392 failonerror="false" resultproperty="jtreg.@{name}.result"
mcimadamore@38609 393 vmoptions="${coverage.options} @{extra.jvmargs} ${xpatch.noquotes.cmd}">
alanb@36526 394 <arg value="-debug:@{jpda.jvmargs}"/>
mcimadamore@44461 395 <arg line="@{ignore}"/>
alanb@36526 396 <arg line="@{options}"/>
alanb@36526 397 <arg line="@{tests}"/>
alanb@36526 398 </jtreg>
alanb@36526 399 <!-- the next two properties are for convenience, when only
alanb@36526 400 a single instance of jtreg will be invoked. -->
alanb@36526 401 <condition property="jtreg.passed">
alanb@36526 402 <equals arg1="${jtreg.@{name}.result}" arg2="0"/>
alanb@36526 403 </condition>
alanb@36526 404 <property name="jtreg.report" value="${build.jtreg}/@{name}/report"/>
alanb@36526 405 </sequential>
alanb@36526 406 </macrodef>
alanb@36526 407 <property name="jtreg.defined" value="true"/>
alanb@36526 408 </target>
duke@10 409 </project>