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.
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="modularize" default="all" basedir=".">
3 <description>Scripts to build JDK Java sources in modularized way</description>
6 <antcall target="base"/>
7 <antcall target="applet"/>
8 <antcall target="corba"/>
9 <antcall target="deprecated7"/>
12 <!-- basic parameters -->
13 <property name="plugs" value="../../plugs"/>
14 <fail message="You need to provide location of plugs">
15 <condition><not><available file="${plugs}/jre/lib/rt-closed.jar"/></not></condition>
18 <target name="merge-sources"
19 description="Copies sources from all over the JDK tree into one place"
21 <pathconvert property="gensrc">
23 <dirset dir="../build">
24 <include name="*/gensrc"/>
28 <fail message="You need to provide location of JDK's generated sources via -Dgensrc=...">
31 <available file="${gensrc}"/>
35 <mkdir dir="build/sources"/>
36 <copy todir="build/sources">
37 <fileset dir="${gensrc}"/>
38 <fileset dir="${gensrc}/../impsrc">
39 <exclude name="org/relaxng/datatype/**"/>
41 <fileset dir="../jaxp/src/share/classes/">
42 <exclude name="org/relaxng/datatype/**"/>
44 <fileset dir="../langtools/src/share/classes/">
45 <exclude name="org/relaxng/datatype/**"/>
47 <fileset dir="../jaxws/src/share/classes/">
48 <exclude name="org/relaxng/datatype/**"/>
50 <fileset dir="../corba/src/share/classes/"/>
55 <pathelement location="src/share/classes"/>
56 <pathelement location="build/sources"/>
57 <pathelement location="src/solaris/classes"/>
58 <!-- <pathelement location="src/windows/classes"/> -->
60 <property name="build.dir" location="build/modularize"/>
62 <!-- this is the core of the separation - definition
63 of what classes belong into what compilation group.
65 <selector id="applet">
68 <filename name="java/beans/AppletInitializer*"/>
69 <filename name="java/applet/**"/>
70 <filename name="javax/swing/JApplet*"/>
71 <filename name="sun/applet/**"/>
72 <filename name="META-INF/services/sun.beans.AppletProxy"/>
73 <!-- either this or include AudioClip in client package
74 <filename name="sun/net/www/content/audio/**"/>
78 <filename name="java/applet/AudioClip*"/>
79 <filename name="sun/applet/AppletAudioClip*"/>
85 <filename name="org/omg/**"/>
86 <filename name="com/sun/corba/**"/>
87 <filename name="com/sun/jmx/remote/internal/ProxyInputStream.java"/>
88 <filename name="com/sun/jndi/cosnaming/**"/>
89 <filename name="com/sun/jndi/toolkit/corba/**"/>
90 <filename name="com/sun/jndi/url/iiop/**"/>
91 <filename name="com/sun/jndi/url/iiopname/**"/>
92 <filename name="com/sun/jndi/url/corbaname/**"/>
93 <filename name="javax/management/remote/rmi/RMIConnector.java"/>
94 <filename name="javax/management/remote/rmi/RMIConnectorServer.java"/>
95 <filename name="javax/management/remote/rmi/RMIServerImpl.java"/>
96 <filename name="javax/management/remote/rmi/RMIIIOPServerImpl.java"/>
97 <filename name="javax/management/remote/rmi/RMIConnectionImpl.java"/>
98 <filename name="javax/management/remote/rmi/RMIJRMPServerImpl.java"/>
99 <filename name="javax/rmi/PortableRemoteObject.java"/>
100 <filename name="com/sun/jmx/remote/security/FileLoginModule.java"/>
101 <filename name="com/sun/jmx/remote/security/JMXPluggableAuthenticator.java"/>
102 <filename name="com/sun/jmx/remote/protocol/rmi/ClientProvider.java"/>
103 <filename name="com/sun/jmx/remote/protocol/rmi/ClientProvider.java"/>
104 <filename name="com/sun/jmx/remote/protocol/iiop/ClientProvider.java"/>
105 <filename name="com/sun/jmx/remote/protocol/iiop/ServerProvider.java"/>
106 <filename name="com/sun/jmx/remote/protocol/rmi/ServerProvider.java"/>
107 <filename name="com/sun/jndi/url/iiop/iiopURLContextFactory.java"/>
108 <filename name="sun/rmi/rmic/RMIGenerator.java"/>
109 <filename name="sun/management/jmxremote/ConnectorBootstrap.java"/>
110 <filename name="sun/management/Agent.java"/>
111 <filename name="sun/management/snmp/AdaptorBootstrap.java"/>
112 <filename name="javax/rmi/CORBA/**"/>
113 <filename name="com/sun/org/omg/**"/>
114 <filename name="javax/management/remote/rmi/RMIConnectorServer.java"/>
115 <filename name="com/sun/jndi/url/iiop/iiopURLContext.java"/>
116 <filename name="sun/rmi/rmic/iiop/**"/>
118 <!-- now there are just two references in jconsole -->
119 <filename name="sun/tools/jconsole/**"/>
122 <selector id="beans">
125 <filename name="java/beans/**"/>
126 <filename name="sun/beans/**"/>
127 <filename name="com/sun/beans/**"/>
130 <selector refid="applet"/>
131 <selector refid="deprecated7"/>
136 <selector id="swing">
139 <filename name="java/awt/**"/>
140 <filename name="sun/awt/**"/>
141 <filename name="com/sun/awt/**"/>
142 <filename name="javax/imageio/**"/>
143 <filename name="javax/print/**"/>
144 <filename name="javax/accessibility/**"/>
145 <filename name="com/sun/imageio/**"/>
146 <filename name="javax/swing/**"/>
147 <filename name="sun/swing/**"/>
148 <filename name="sun/java2d/**"/>
149 <filename name="sun/print/**"/>
150 <filename name="sun/font/**"/>
151 <filename name="sun/beans/**"/>
152 <filename name="sun/awt/shell/**"/>
153 <filename name="com/sun/swing/**"/>
154 <filename name="com/sun/java/swing/**"/>
155 <filename name="com/sun/xml/internal/xsom/impl/util/**"/>
156 <filename name="com/sun/security/auth/callback/**"/>
157 <filename name="com/sun/inputmethods/internal/**"/>
158 <filename name="com/sun/xml/internal/bind/**"/>
160 <filename name="com/sun/xml/internal/messaging/saaj/**"/>
161 <filename name="com/sun/xml/internal/ws/**"/>
162 <filename name="com/sun/xml/internal/org/jvnet/staxex/**"/>
163 <filename name="com/sun/xml/internal/stream/buffer/stax/**"/>
164 <filename name="com/sun/istack/internal/**"/>
165 <filename name="com/sun/xml/internal/stream/buffer/**"/>
166 <!-- <filename name="com/sun/xml/internal/stream/**"/>-->
167 <filename name="com/sun/xml/internal/xsom/**"/>
169 <filename name="javax/xml/soap/**"/>
170 <filename name="javax/xml/bind/**"/>
171 <filename name="javax/xml/ws/**"/>
172 <filename name="javax/activation/**"/>
174 <filename name="sun/net/www/content/image/**"/>
176 <!--<filename name="com/sun/naming/internal/**"/>-->
178 <!-- input method has JFrame in signature -->
179 <filename name="sun/awt/im/**"/>
180 <filename name="sun/awt/X11/**"/>
182 <filename name="java/beans/javax_swing*"/>
183 <filename name="java/beans/MetaData*"/>
184 <filename name="java/beans/PropertyEdit*"/>
185 <filename name="java/beans/beancontext/*"/>
188 <filename name="java/awt/AWTPermission*"/>
193 <selector id="deprecated7">
195 <!-- deprecated as it contains one method
196 that references Applet
198 <filename name="java/beans/Beans*"/>
199 <!-- deprecated as it contains one method
200 that references Applet
202 <filename name="javax/swing/RepaintManager*"/>
205 <filename name="sun/security/tools/**"/>
206 <filename name="com/sun/tools/**"/>
207 <filename name="sun/tools/**"/>
208 <filename name="sun/rmi/rmic/**"/>
214 <!-- exclude classes from other modules -->
215 <selector refid="corba"/>
216 <selector refid="applet"/>
217 <selector refid="swing"/>
218 <selector refid="deprecated7"/>
220 <selector refid="client"/>
221 <selector refid="enterprise"/>
222 <selector refid="deprecated7"/>
226 <!-- non-important non-API things
227 which cannot be compiled easily
229 <filename name="**/*-*"/>
230 <filename name="java/dyn/**"/>
231 <filename name="sun/dyn/**"/>
233 <filename name="com/sun/script/javascript/**"/>
234 <filename name="sun/dc/**"/>
235 <filename name="sun/nio/fs/Solaris**"/>
236 <filename name="sun/tracing/**"/>
237 <filename name="com/sun/tracing/ProviderFactory*"/>
241 <!-- individual compilation tasks -->
243 <target name="deprecated7">
244 <antcall target="-compile-one-module">
245 <param name="module" value="deprecated7"/>
246 <param name="depends" value="base:applet"/>
249 <target name="applet">
250 <antcall target="-compile-one-module">
251 <param name="module" value="applet"/>
252 <param name="depends" value="base"/>
255 <target name="beans">
256 <antcall target="-compile-one-module">
257 <param name="module" value="beans"/>
260 <target name="swing">
261 <antcall target="-compile-one-module">
262 <param name="module" value="swing"/>
263 <param name="depends" value="base"/>
266 <target name="corba">
267 <antcall target="-compile-one-module">
268 <param name="module" value="corba"/>
269 <param name="depends" value="base:applet"/>
275 <antcall target="-compile-one-module">
276 <param name="module" value="base"/>
280 <!-- shared routine to compile one of the modules -->
281 <target name="-compile-one-module">
282 <mkdir dir="${build.dir}/classes/${module}"/>
283 <pathconvert pathsep=":" property="module.cp">
284 <path path="${depends}"/>
285 <mapper type="regexp" from=".*[/\\]([^/\\]*)" to="${build.dir}/\1.jar"/>
288 basedir="${build.dir}/classes/${module}"
289 destfile="${build.dir}/empty.jar"
295 bootclasspath="${build.dir}/empty.jar"
297 destdir="${build.dir}/classes/${module}"
298 includejavaruntime="false"
299 includeantruntime="false"
300 classpath="${module.cp}:${plugs}/jre/lib/rt-closed.jar"
302 <src refid="src.path"/>
304 <selector refid="${module}"/>
305 <not><filename name="**/*-template.java"/></not>
308 <copy todir="${build.dir}/classes/${module}">
309 <fileset dir="src/share/classes">
311 <selector refid="${module}"/>
313 <filename name="**/*.java"/>
320 basedir="${build.dir}/classes/${module}"
321 destfile="${build.dir}/${module}.jar"
326 <!-- clean everything -->
327 <target name="clean">
328 <delete dir="${build.dir}"/>