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