build.xml
changeset 1238 57914fd9382f
parent 1237 3021779e58a1
child 1240 4b353465cd30
     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 -->