24 ~ questions.
25 -->
26
27 <!--
28 This is a convenience build file supporting development in the langtools
29 repository. It can be run either standalone, or from IDEs. This build script
30 is for a developer use only, it is not used to build the production version
31 of javac or other langtools tools.
32
33 External dependencies are specified via properties. These can be given
34 on the command line, or by providing a local build.properties file.
35 (They can also be edited into make/build.properties, although that is not
36 recommended.) At a minimum, langtools.jdk.home must be set to the installed
37 location of the version of JDK used to build this repository. Additional
38 properties may be required, depending on the targets that are built.
39 For example, to run any of the jtreg tests you must set jtreg.home.
40
41 The output of the build is as follows:
42
43 build
44 |-bin (scripts to invoke various tools, javac, javah etc.)
45 |-genrsc (generated sources - i.e. properties)
46 |-modules (compiled classes in a modular layout)
47 |-jtreg (test work/results)
48 |-toolclasses (tools used for building - like the property compiler)
49
50 This file is organized into sections as follows:
51 - global property definitions
52 - primary top level targets (cleaning, building)
53 - utility definitions
54 -->
55
56 <project name="langtools" default="build" basedir="../..">
57 <!--
58 **** Global property definitions.
59 -->
60
61 <!-- The following locations can be used to override default property values. -->
62
63 <!-- Use this location for customizations specific to this instance of this workspace -->
64 <property file="make/langtools/build.properties"/>
237 <arg value="${build.modules}" />
238 <arg line="${javac.opts}" />
239 <arg line="${xpatch.src.cmd}" />
240 <arg line="--module-source-path ." />
241 <arg line="@${build.dir}/sources.txt" />
242 </exec>
243 <delete file="${build.dir}/sources.txt"/>
244 <delete>
245 <fileset dir="${build.modules}" includes="**/module-info.class"/>
246 </delete>
247 <!-- workaround for incremental compilation -->
248 <copy todir="${build.prevsrc}" >
249 <multirootfileset refid="source.fileset"/>
250 </copy>
251 </target>
252
253 <target name="build-all-tools" depends="build-all-classes, -def-build-tool">
254 <build-tool name="javac"/>
255 <build-tool name="javadoc"/>
256 <build-tool name="javap"/>
257 <build-tool name="javah"/>
258 <build-tool name="jdeps"/>
259 <build-tool name="sjavac"/>
260 <build-tool name="jshell"/>
261 </target>
262
263 <target name="jtreg" depends="build-all-tools,-def-jtreg">
264 <jtreg-tool name="all" tests="${jtreg.tests}"/>
265 </target>
266
267 <!--
268 **** IDE support
269 -->
270
271 <target name="idea" depends="-check-langtools.jdk.home">
272 <mkdir dir=".idea"/>
273 <copy todir=".idea" >
274 <fileset dir="${make.dir}/intellij">
275 <exclude name="**/src/**"/>
276 <exclude name="**/utils/**"/>
277 </fileset>
|
24 ~ questions.
25 -->
26
27 <!--
28 This is a convenience build file supporting development in the langtools
29 repository. It can be run either standalone, or from IDEs. This build script
30 is for a developer use only, it is not used to build the production version
31 of javac or other langtools tools.
32
33 External dependencies are specified via properties. These can be given
34 on the command line, or by providing a local build.properties file.
35 (They can also be edited into make/build.properties, although that is not
36 recommended.) At a minimum, langtools.jdk.home must be set to the installed
37 location of the version of JDK used to build this repository. Additional
38 properties may be required, depending on the targets that are built.
39 For example, to run any of the jtreg tests you must set jtreg.home.
40
41 The output of the build is as follows:
42
43 build
44 |-bin (scripts to invoke various tools, javac etc.)
45 |-genrsc (generated sources - i.e. properties)
46 |-modules (compiled classes in a modular layout)
47 |-jtreg (test work/results)
48 |-toolclasses (tools used for building - like the property compiler)
49
50 This file is organized into sections as follows:
51 - global property definitions
52 - primary top level targets (cleaning, building)
53 - utility definitions
54 -->
55
56 <project name="langtools" default="build" basedir="../..">
57 <!--
58 **** Global property definitions.
59 -->
60
61 <!-- The following locations can be used to override default property values. -->
62
63 <!-- Use this location for customizations specific to this instance of this workspace -->
64 <property file="make/langtools/build.properties"/>
237 <arg value="${build.modules}" />
238 <arg line="${javac.opts}" />
239 <arg line="${xpatch.src.cmd}" />
240 <arg line="--module-source-path ." />
241 <arg line="@${build.dir}/sources.txt" />
242 </exec>
243 <delete file="${build.dir}/sources.txt"/>
244 <delete>
245 <fileset dir="${build.modules}" includes="**/module-info.class"/>
246 </delete>
247 <!-- workaround for incremental compilation -->
248 <copy todir="${build.prevsrc}" >
249 <multirootfileset refid="source.fileset"/>
250 </copy>
251 </target>
252
253 <target name="build-all-tools" depends="build-all-classes, -def-build-tool">
254 <build-tool name="javac"/>
255 <build-tool name="javadoc"/>
256 <build-tool name="javap"/>
257 <build-tool name="jdeps"/>
258 <build-tool name="sjavac"/>
259 <build-tool name="jshell"/>
260 </target>
261
262 <target name="jtreg" depends="build-all-tools,-def-jtreg">
263 <jtreg-tool name="all" tests="${jtreg.tests}"/>
264 </target>
265
266 <!--
267 **** IDE support
268 -->
269
270 <target name="idea" depends="-check-langtools.jdk.home">
271 <mkdir dir=".idea"/>
272 <copy todir=".idea" >
273 <fileset dir="${make.dir}/intellij">
274 <exclude name="**/src/**"/>
275 <exclude name="**/utils/**"/>
276 </fileset>
|