build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Mon, 22 Jun 2009 10:15:54 +0200
brancheliminateswing
changeset 1250 7d9cedc2c758
parent 1249 cf9b143bfaf9
child 1251 adeb4a4c4aa6
permissions -rw-r--r--
In attempt to remove swing I had to comment out also AWT and a lot of XML related stuff which references AWT, DataFlavors, activation, etc. all the time. Now there is about 50 remaining errors in compilation of base classes.
jtulach@1237
     1
<?xml version="1.0" encoding="UTF-8"?>
jtulach@1237
     2
<project name="modularize" default="all" basedir=".">
jtulach@1237
     3
    <description>Scripts to build JDK Java sources in modularized way</description>
jtulach@1237
     4
jtulach@1237
     5
    <target name="all">
jtulach@1238
     6
        <antcall target="base"/>
jtulach@1247
     7
        <antcall target="applet"/>
jtulach@1245
     8
        <antcall target="corba"/>
jtulach@1247
     9
        <antcall target="deprecated7"/>
jtulach@1237
    10
    </target>
jtulach@1241
    11
jtulach@1237
    12
    <!-- basic parameters -->
jtulach@1242
    13
    <property name="plugs" value="../../plugs"/>
jtulach@1242
    14
    <fail message="You need to provide location of plugs">
jtulach@1242
    15
        <condition><not><available file="${plugs}/jre/lib/rt-closed.jar"/></not></condition>
jtulach@1242
    16
    </fail>
jtulach@1243
    17
jtulach@1243
    18
    <target name="merge-sources"
jtulach@1243
    19
        description="Copies sources from all over the JDK tree into one place"
jtulach@1243
    20
    >
jtulach@1249
    21
        <pathconvert property="gensrc">
jtulach@1249
    22
            <path>
jtulach@1249
    23
                <dirset dir="../build">
jtulach@1249
    24
                    <include name="*/gensrc"/>
jtulach@1249
    25
                </dirset>
jtulach@1249
    26
            </path>
jtulach@1249
    27
        </pathconvert>
jtulach@1249
    28
        <fail message="You need to provide location of JDK's generated sources via -Dgensrc=...">
jtulach@1249
    29
            <condition>
jtulach@1249
    30
                <not>
jtulach@1249
    31
                    <available file="${gensrc}"/>
jtulach@1249
    32
                </not>
jtulach@1249
    33
            </condition>
jtulach@1249
    34
        </fail>
jtulach@1243
    35
        <mkdir dir="build/sources"/>
jtulach@1243
    36
        <copy todir="build/sources">
jtulach@1243
    37
            <fileset dir="${gensrc}"/>
jtulach@1243
    38
            <fileset dir="${gensrc}/../impsrc">
jtulach@1243
    39
                <exclude name="org/relaxng/datatype/**"/>
jtulach@1243
    40
            </fileset>
jtulach@1243
    41
            <fileset dir="../jaxp/src/share/classes/">
jtulach@1243
    42
                <exclude name="org/relaxng/datatype/**"/>
jtulach@1243
    43
            </fileset>
jtulach@1243
    44
            <fileset dir="../langtools/src/share/classes/">
jtulach@1243
    45
                <exclude name="org/relaxng/datatype/**"/>
jtulach@1243
    46
            </fileset>
jtulach@1243
    47
            <fileset dir="../jaxws/src/share/classes/">
jtulach@1243
    48
                <exclude name="org/relaxng/datatype/**"/>
jtulach@1243
    49
            </fileset>
jtulach@1243
    50
            <fileset dir="../corba/src/share/classes/"/>
jtulach@1243
    51
        </copy>
jtulach@1243
    52
    </target>
jtulach@1243
    53
jtulach@1237
    54
    <path id="src.path">
jtulach@1237
    55
        <pathelement location="src/share/classes"/>
jtulach@1243
    56
        <pathelement location="build/sources"/>
jtulach@1237
    57
        <pathelement location="src/solaris/classes"/>
jtulach@1242
    58
<!--        <pathelement location="src/windows/classes"/> -->
jtulach@1237
    59
    </path>
jtulach@1237
    60
    <property name="build.dir" location="build/modularize"/>
jtulach@1237
    61
jtulach@1237
    62
    <!-- this is the core of the separation - definition
jtulach@1237
    63
      of what classes belong into what compilation group.
jtulach@1237
    64
    -->
jtulach@1237
    65
    <selector id="applet">
jtulach@1246
    66
        <and>
jtulach@1246
    67
            <or>
jtulach@1246
    68
                <filename name="java/beans/AppletInitializer*"/>
jtulach@1246
    69
                <filename name="java/applet/**"/>
jtulach@1246
    70
                <filename name="javax/swing/JApplet*"/>
jtulach@1246
    71
                <filename name="sun/applet/**"/>
jtulach@1246
    72
                <filename name="META-INF/services/sun.beans.AppletProxy"/>
jtulach@1246
    73
                <!-- either this or include AudioClip in client package
jtulach@1246
    74
                <filename name="sun/net/www/content/audio/**"/>
jtulach@1246
    75
                -->
jtulach@1246
    76
            </or>
jtulach@1246
    77
            <none>
jtulach@1246
    78
                <filename name="java/applet/AudioClip*"/>
jtulach@1246
    79
                <filename name="sun/applet/AppletAudioClip*"/>
jtulach@1246
    80
            </none>
jtulach@1246
    81
        </and>
jtulach@1237
    82
    </selector>
jtulach@1245
    83
    <selector id="corba">
jtulach@1245
    84
        <or>
jtulach@1245
    85
            <filename name="org/omg/**"/>
jtulach@1245
    86
            <filename name="com/sun/corba/**"/>
jtulach@1245
    87
            <filename name="com/sun/jmx/remote/internal/ProxyInputStream.java"/>
jtulach@1245
    88
            <filename name="com/sun/jndi/cosnaming/**"/>
jtulach@1245
    89
            <filename name="com/sun/jndi/toolkit/corba/**"/>
jtulach@1245
    90
            <filename name="com/sun/jndi/url/iiop/**"/>
jtulach@1245
    91
            <filename name="com/sun/jndi/url/iiopname/**"/>
jtulach@1245
    92
            <filename name="com/sun/jndi/url/corbaname/**"/>
jtulach@1245
    93
            <filename name="javax/management/remote/rmi/RMIConnector.java"/>
jtulach@1245
    94
            <filename name="javax/management/remote/rmi/RMIConnectorServer.java"/>
jtulach@1245
    95
            <filename name="javax/management/remote/rmi/RMIServerImpl.java"/>
jtulach@1245
    96
            <filename name="javax/management/remote/rmi/RMIIIOPServerImpl.java"/>
jtulach@1245
    97
            <filename name="javax/management/remote/rmi/RMIConnectionImpl.java"/>
jtulach@1245
    98
            <filename name="javax/management/remote/rmi/RMIJRMPServerImpl.java"/>
jtulach@1245
    99
            <filename name="javax/rmi/PortableRemoteObject.java"/>
jtulach@1245
   100
            <filename name="com/sun/jmx/remote/security/FileLoginModule.java"/>
jtulach@1245
   101
            <filename name="com/sun/jmx/remote/security/JMXPluggableAuthenticator.java"/>
jtulach@1245
   102
            <filename name="com/sun/jmx/remote/protocol/rmi/ClientProvider.java"/>
jtulach@1245
   103
            <filename name="com/sun/jmx/remote/protocol/rmi/ClientProvider.java"/>
jtulach@1245
   104
            <filename name="com/sun/jmx/remote/protocol/iiop/ClientProvider.java"/>
jtulach@1245
   105
            <filename name="com/sun/jmx/remote/protocol/iiop/ServerProvider.java"/>
jtulach@1245
   106
            <filename name="com/sun/jmx/remote/protocol/rmi/ServerProvider.java"/>
jtulach@1245
   107
            <filename name="com/sun/jndi/url/iiop/iiopURLContextFactory.java"/>
jtulach@1245
   108
            <filename name="sun/rmi/rmic/RMIGenerator.java"/>
jtulach@1245
   109
            <filename name="sun/management/jmxremote/ConnectorBootstrap.java"/>
jtulach@1245
   110
            <filename name="sun/management/Agent.java"/>
jtulach@1245
   111
            <filename name="sun/management/snmp/AdaptorBootstrap.java"/>
jtulach@1245
   112
            <filename name="javax/rmi/CORBA/**"/>
jtulach@1245
   113
            <filename name="com/sun/org/omg/**"/>
jtulach@1245
   114
            <filename name="javax/management/remote/rmi/RMIConnectorServer.java"/>
jtulach@1245
   115
            <filename name="com/sun/jndi/url/iiop/iiopURLContext.java"/>
jtulach@1245
   116
            <filename name="sun/rmi/rmic/iiop/**"/>
jtulach@1245
   117
jtulach@1245
   118
            <!-- now there are just two references in jconsole -->
jtulach@1245
   119
            <filename name="sun/tools/jconsole/**"/>
jtulach@1245
   120
        </or>
jtulach@1245
   121
    </selector>
jtulach@1237
   122
    <selector id="beans">
jtulach@1238
   123
        <and>
jtulach@1238
   124
            <or>
jtulach@1238
   125
                <filename name="java/beans/**"/>
jtulach@1238
   126
                <filename name="sun/beans/**"/>
jtulach@1238
   127
                <filename name="com/sun/beans/**"/>
jtulach@1238
   128
            </or>
jtulach@1238
   129
            <none>
jtulach@1238
   130
                <selector refid="applet"/>
jtulach@1240
   131
                <selector refid="deprecated7"/>
jtulach@1238
   132
            </none>
jtulach@1238
   133
        </and>
jtulach@1237
   134
    </selector>
jtulach@1237
   135
jtulach@1250
   136
    <selector id="swing">
jtulach@1250
   137
        <and>
jtulach@1250
   138
            <or>
jtulach@1250
   139
                <filename name="java/awt/**"/>
jtulach@1250
   140
                <filename name="sun/awt/**"/>
jtulach@1250
   141
                <filename name="com/sun/awt/**"/>
jtulach@1250
   142
                <filename name="javax/imageio/**"/>
jtulach@1250
   143
                <filename name="javax/print/**"/>
jtulach@1250
   144
                <filename name="javax/accessibility/**"/>
jtulach@1250
   145
                <filename name="com/sun/imageio/**"/>
jtulach@1250
   146
                <filename name="javax/swing/**"/>
jtulach@1250
   147
                <filename name="sun/swing/**"/>
jtulach@1250
   148
                <filename name="sun/java2d/**"/>
jtulach@1250
   149
                <filename name="sun/print/**"/>
jtulach@1250
   150
                <filename name="sun/font/**"/>
jtulach@1250
   151
                <filename name="sun/beans/**"/>
jtulach@1250
   152
                <filename name="sun/awt/shell/**"/>
jtulach@1250
   153
                <filename name="com/sun/swing/**"/>
jtulach@1250
   154
                <filename name="com/sun/java/swing/**"/>
jtulach@1250
   155
                <filename name="com/sun/xml/internal/xsom/impl/util/**"/>
jtulach@1250
   156
                <filename name="com/sun/security/auth/callback/**"/>
jtulach@1250
   157
                <filename name="com/sun/inputmethods/internal/**"/>
jtulach@1250
   158
                <filename name="com/sun/xml/internal/bind/**"/>
jtulach@1250
   159
                
jtulach@1250
   160
                <filename name="com/sun/xml/internal/messaging/saaj/**"/>
jtulach@1250
   161
                <filename name="com/sun/xml/internal/ws/**"/>
jtulach@1250
   162
                <filename name="com/sun/xml/internal/org/jvnet/staxex/**"/>
jtulach@1250
   163
                <filename name="com/sun/xml/internal/stream/buffer/stax/**"/>
jtulach@1250
   164
                <filename name="com/sun/istack/internal/**"/>
jtulach@1250
   165
                <filename name="com/sun/xml/internal/stream/buffer/**"/>
jtulach@1250
   166
<!--                <filename name="com/sun/xml/internal/stream/**"/>-->
jtulach@1250
   167
                <filename name="com/sun/xml/internal/xsom/**"/>
jtulach@1250
   168
                
jtulach@1250
   169
                <filename name="javax/xml/soap/**"/>
jtulach@1250
   170
                <filename name="javax/xml/bind/**"/>
jtulach@1250
   171
                <filename name="javax/xml/ws/**"/>
jtulach@1250
   172
                <filename name="javax/activation/**"/>
jtulach@1250
   173
jtulach@1250
   174
                <filename name="sun/net/www/content/image/**"/>
jtulach@1250
   175
jtulach@1250
   176
                <!--<filename name="com/sun/naming/internal/**"/>-->
jtulach@1250
   177
jtulach@1250
   178
                <!-- input method has JFrame in signature -->
jtulach@1250
   179
                <filename name="sun/awt/im/**"/>
jtulach@1250
   180
                <filename name="sun/awt/X11/**"/>
jtulach@1250
   181
jtulach@1250
   182
                <filename name="java/beans/javax_swing*"/>
jtulach@1250
   183
                <filename name="java/beans/MetaData*"/>
jtulach@1250
   184
                <filename name="java/beans/PropertyEdit*"/>
jtulach@1250
   185
                <filename name="java/beans/beancontext/*"/>
jtulach@1250
   186
            </or>
jtulach@1250
   187
            <none>
jtulach@1250
   188
                <filename name="java/awt/AWTPermission*"/>
jtulach@1250
   189
            </none>
jtulach@1250
   190
        </and>
jtulach@1250
   191
    </selector>
jtulach@1250
   192
jtulach@1240
   193
    <selector id="deprecated7">
jtulach@1240
   194
        <or>
jtulach@1247
   195
            <!-- deprecated as it contains one method
jtulach@1247
   196
            that references Applet
jtulach@1247
   197
            -->
jtulach@1240
   198
            <filename name="java/beans/Beans*"/>
jtulach@1247
   199
            <!-- deprecated as it contains one method
jtulach@1247
   200
            that references Applet
jtulach@1247
   201
            -->
jtulach@1247
   202
            <filename name="javax/swing/RepaintManager*"/>
jtulach@1246
   203
jtulach@1246
   204
            <!-- tools -->
jtulach@1250
   205
            <filename name="sun/security/tools/**"/>
jtulach@1250
   206
            <filename name="com/sun/tools/**"/>
jtulach@1250
   207
            <filename name="sun/tools/**"/>
jtulach@1250
   208
            <filename name="sun/rmi/rmic/**"/>
jtulach@1240
   209
        </or>
jtulach@1240
   210
    </selector>
jtulach@1240
   211
jtulach@1237
   212
    <selector id="base">
jtulach@1245
   213
        <none>
jtulach@1245
   214
            <!-- exclude classes from other modules -->
jtulach@1245
   215
            <selector refid="corba"/>
jtulach@1246
   216
            <selector refid="applet"/>
jtulach@1250
   217
            <selector refid="swing"/>
jtulach@1246
   218
            <selector refid="deprecated7"/>
jtulach@1241
   219
        <!--
jtulach@1241
   220
            <selector refid="client"/>
jtulach@1241
   221
            <selector refid="enterprise"/>
jtulach@1240
   222
            <selector refid="deprecated7"/>
jtulach@1241
   223
            -->
jtulach@1245
   224
jtulach@1245
   225
jtulach@1245
   226
            <!-- non-important non-API things
jtulach@1245
   227
                which cannot be compiled easily
jtulach@1241
   228
            -->
jtulach@1241
   229
            <filename name="**/*-*"/>
jtulach@1241
   230
            <filename name="java/dyn/**"/>
jtulach@1241
   231
            <filename name="sun/dyn/**"/>
jtulach@1244
   232
            
jtulach@1242
   233
            <filename name="com/sun/script/javascript/**"/>
jtulach@1243
   234
            <filename name="sun/dc/**"/>
jtulach@1243
   235
            <filename name="sun/nio/fs/Solaris**"/>
jtulach@1241
   236
            <filename name="sun/tracing/**"/>
jtulach@1243
   237
            <filename name="com/sun/tracing/ProviderFactory*"/>
jtulach@1237
   238
        </none>
jtulach@1237
   239
    </selector>
jtulach@1237
   240
jtulach@1237
   241
    <!-- individual compilation tasks -->
jtulach@1237
   242
jtulach@1240
   243
    <target name="deprecated7">
jtulach@1240
   244
        <antcall target="-compile-one-module">
jtulach@1240
   245
            <param name="module" value="deprecated7"/>
jtulach@1246
   246
            <param name="depends" value="base:applet"/>
jtulach@1240
   247
        </antcall>
jtulach@1240
   248
    </target>
jtulach@1237
   249
    <target name="applet">
jtulach@1237
   250
        <antcall target="-compile-one-module">
jtulach@1237
   251
            <param name="module" value="applet"/>
jtulach@1246
   252
            <param name="depends" value="base"/>
jtulach@1237
   253
        </antcall>
jtulach@1237
   254
    </target>
jtulach@1237
   255
    <target name="beans">
jtulach@1237
   256
        <antcall target="-compile-one-module">
jtulach@1237
   257
            <param name="module" value="beans"/>
jtulach@1237
   258
        </antcall>
jtulach@1237
   259
    </target>
jtulach@1250
   260
    <target name="swing">
jtulach@1250
   261
        <antcall target="-compile-one-module">
jtulach@1250
   262
            <param name="module" value="swing"/>
jtulach@1250
   263
            <param name="depends" value="base"/>
jtulach@1250
   264
        </antcall>
jtulach@1250
   265
    </target>
jtulach@1245
   266
    <target name="corba">
jtulach@1245
   267
        <antcall target="-compile-one-module">
jtulach@1245
   268
            <param name="module" value="corba"/>
jtulach@1247
   269
            <param name="depends" value="base:applet"/>
jtulach@1245
   270
        </antcall>
jtulach@1245
   271
    </target>
jtulach@1237
   272
jtulach@1241
   273
jtulach@1238
   274
    <target name="base">
jtulach@1241
   275
        <antcall target="-compile-one-module">
jtulach@1241
   276
            <param name="module" value="base"/>
jtulach@1241
   277
        </antcall>
jtulach@1237
   278
    </target>
jtulach@1237
   279
jtulach@1237
   280
    <!-- shared routine to compile one of the modules -->
jtulach@1237
   281
    <target name="-compile-one-module">
jtulach@1237
   282
        <mkdir dir="${build.dir}/classes/${module}"/>
jtulach@1240
   283
        <pathconvert pathsep=":"  property="module.cp">
jtulach@1238
   284
            <path path="${depends}"/>
jtulach@1238
   285
            <mapper type="regexp" from=".*[/\\]([^/\\]*)" to="${build.dir}/\1.jar"/>
jtulach@1238
   286
        </pathconvert>
jtulach@1242
   287
        <jar
jtulach@1242
   288
            basedir="${build.dir}/classes/${module}"
jtulach@1242
   289
            destfile="${build.dir}/empty.jar"
jtulach@1242
   290
            compress="false"
jtulach@1242
   291
        >
jtulach@1242
   292
            <exclude name="**"/>
jtulach@1242
   293
        </jar>
jtulach@1238
   294
        <javac
jtulach@1242
   295
            bootclasspath="${build.dir}/empty.jar"
jtulach@1238
   296
            sourcepath=""
jtulach@1238
   297
            destdir="${build.dir}/classes/${module}"
jtulach@1238
   298
            includejavaruntime="false"
jtulach@1238
   299
            includeantruntime="false"
jtulach@1242
   300
            classpath="${module.cp}:${plugs}/jre/lib/rt-closed.jar"
jtulach@1238
   301
        >
jtulach@1237
   302
            <src refid="src.path"/>
jtulach@1245
   303
            <and>
jtulach@1245
   304
                <selector refid="${module}"/>
jtulach@1245
   305
                <not><filename name="**/*-template.java"/></not>
jtulach@1245
   306
            </and>
jtulach@1237
   307
        </javac>
jtulach@1238
   308
        <copy todir="${build.dir}/classes/${module}">
jtulach@1238
   309
            <fileset dir="src/share/classes">
jtulach@1238
   310
                <and>
jtulach@1238
   311
                    <selector refid="${module}"/>
jtulach@1238
   312
                    <not>
jtulach@1238
   313
                        <filename name="**/*.java"/>
jtulach@1238
   314
                    </not>
jtulach@1238
   315
                </and>
jtulach@1238
   316
            </fileset>
jtulach@1238
   317
        </copy>
jtulach@1238
   318
jtulach@1238
   319
        <jar 
jtulach@1238
   320
            basedir="${build.dir}/classes/${module}"
jtulach@1238
   321
            destfile="${build.dir}/${module}.jar"
jtulach@1238
   322
            compress="false"
jtulach@1238
   323
        />
jtulach@1237
   324
    </target>
jtulach@1237
   325
jtulach@1237
   326
    <!-- clean everything -->
jtulach@1237
   327
    <target name="clean">
jtulach@1237
   328
        <delete dir="${build.dir}"/>
jtulach@1237
   329
    </target>
jtulach@1237
   330
</project>