1.1 --- a/build.xml Tue Jun 16 15:37:17 2009 +0200
1.2 +++ b/build.xml Tue Jun 16 17:53:32 2009 +0200
1.3 @@ -3,7 +3,7 @@
1.4 <description>Scripts to build JDK Java sources in modularized way</description>
1.5
1.6 <target name="all">
1.7 - <antcall target="extract-base"/>
1.8 + <antcall target="base"/>
1.9 <antcall target="beans"/>
1.10 <antcall target="applet"/>
1.11 </target>
1.12 @@ -20,16 +20,23 @@
1.13 -->
1.14 <selector id="applet">
1.15 <or>
1.16 + <filename name="java/beans/AppletInitializer*"/>
1.17 <filename name="java/applet/**"/>
1.18 <filename name="sun/applet/**"/>
1.19 + <filename name="META-INF/services/sun.beans.AppletProxy"/>
1.20 </or>
1.21 </selector>
1.22 <selector id="beans">
1.23 - <or>
1.24 - <filename name="java/beans/**"/>
1.25 - <filename name="sun/beans/**"/>
1.26 - <filename name="com/sun/beans/**"/>
1.27 - </or>
1.28 + <and>
1.29 + <or>
1.30 + <filename name="java/beans/**"/>
1.31 + <filename name="sun/beans/**"/>
1.32 + <filename name="com/sun/beans/**"/>
1.33 + </or>
1.34 + <none>
1.35 + <selector refid="applet"/>
1.36 + </none>
1.37 + </and>
1.38 </selector>
1.39
1.40 <selector id="corba">
1.41 @@ -52,6 +59,7 @@
1.42 <target name="applet">
1.43 <antcall target="-compile-one-module">
1.44 <param name="module" value="applet"/>
1.45 + <param name="depends" value="beans"/>
1.46 </antcall>
1.47 </target>
1.48 <target name="beans">
1.49 @@ -65,7 +73,7 @@
1.50 the modularization by extracting the base module from an existing
1.51 classes
1.52 -->
1.53 - <target name="extract-base">
1.54 + <target name="base">
1.55 <property name="rt.jar" location="${java.home}/lib/rt.jar"/>
1.56 <fail message="Cannot find rt.jar, specify with -Drt.jar=...">
1.57 <condition><not><available file="${rt.jar}"/></not></condition>
1.58 @@ -73,7 +81,7 @@
1.59
1.60 <mkdir dir="${build.dir}/rt"/>
1.61 <unzip src="${rt.jar}" dest="${build.dir}/rt"/>
1.62 - <jar file="${build.dir}/base.jar">
1.63 + <jar file="${build.dir}/base.jar" compress="false">
1.64 <fileset dir="${build.dir}/rt">
1.65 <selector refid="base"/>
1.66 </fileset>
1.67 @@ -83,11 +91,37 @@
1.68 <!-- shared routine to compile one of the modules -->
1.69 <target name="-compile-one-module">
1.70 <mkdir dir="${build.dir}/classes/${module}"/>
1.71 - <javac bootclasspath="${build.dir}/base.jar" sourcepath="" destdir="${build.dir}/classes/${module}">
1.72 + <pathconvert pathsep="," property="module.cp">
1.73 + <path path="${depends}"/>
1.74 + <mapper type="regexp" from=".*[/\\]([^/\\]*)" to="${build.dir}/\1.jar"/>
1.75 + </pathconvert>
1.76 + <javac
1.77 + bootclasspath="${build.dir}/base.jar"
1.78 + sourcepath=""
1.79 + destdir="${build.dir}/classes/${module}"
1.80 + classpath="${module.cp}"
1.81 + includejavaruntime="false"
1.82 + includeantruntime="false"
1.83 + >
1.84 <src refid="src.path"/>
1.85 <selector refid="${module}"/>
1.86 </javac>
1.87 - <jar basedir="${build.dir}/classes/${module}" destfile="${build.dir}/${module}.jar"/>
1.88 + <copy todir="${build.dir}/classes/${module}">
1.89 + <fileset dir="src/share/classes">
1.90 + <and>
1.91 + <selector refid="${module}"/>
1.92 + <not>
1.93 + <filename name="**/*.java"/>
1.94 + </not>
1.95 + </and>
1.96 + </fileset>
1.97 + </copy>
1.98 +
1.99 + <jar
1.100 + basedir="${build.dir}/classes/${module}"
1.101 + destfile="${build.dir}/${module}.jar"
1.102 + compress="false"
1.103 + />
1.104 </target>
1.105
1.106 <!-- clean everything -->