/[cvs]/jsr166/build.xml
ViewVC logotype

Diff of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.97 by jsr166, Tue Jan 15 01:15:02 2013 UTC revision 1.100 by jsr166, Sat Jan 19 17:15:44 2013 UTC
# Line 8  Line 8 
8    
9    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
11    
12      The repository contains all dependencies except for ant and the JDK
13      itself.  Because the JDK version matters and because different
14      targets require different JDKs, we assume that users have created a
15      hierarchy containing:
16      $HOME/jdk/jdk6
17      $HOME/jdk/jdk7
18      $HOME/jdk/jdk8
19      where each of the above is a JDK or a symlink to same, and
20      $HOME/jdk/src/jdk6
21      $HOME/jdk/src/jdk7
22      $HOME/jdk/src/jdk8
23      where each of the above is a complete JDK source tree
24      (e.g. mercurial forest) or a symlink to same.
25  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
26    </description>    </description>
27    
# Line 35  Line 49 
49    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.reports.dir"           location="${build.dir}/reports"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    
52    <property name="build.jdk7.dir"              location="${build.dir}/jdk7"/>    <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53    <property name="build.jdk7.lib.dir"          location="${build.jdk7.dir}"/>    <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54    <property name="build.jdk7.classes.dir"      location="${build.jdk7.dir}/classes"/>    <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55    <property name="build.jdk7.tck.classes.dir"  location="${build.jdk7.dir}/tck/classes"/>    <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56    <property name="build.jdk7.docs.dir"         location="${build.jdk7.dir}/docs"/>    <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
57    
58    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
# Line 63  Line 77 
77    <macrodef name="defjdklocations">    <macrodef name="defjdklocations">
78      <attribute name="v"/>      <attribute name="v"/>
79      <sequential>      <sequential>
80      <property name="jdk@{v}.home"  location="${jdks.home}/jdk@{v}"/>      <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81      <property name="java@{v}"      location="${jdk@{v}.home}/bin/java"/>      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82      <property name="javac@{v}"     location="${jdk@{v}.home}/bin/javac"/>      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83      <property name="javadoc@{v}"   location="${jdk@{v}.home}/bin/javadoc"/>      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84      <property name="bootdir@{v}"   location="${jdk@{v}.home}/jre/lib"/>      <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
85        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86      <property name="bootclasspath@{v}"      <property name="bootclasspath@{v}"
87       value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>       value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
88      </sequential>      </sequential>
# Line 104  Line 119 
119    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
122    <property name="jdk7src.dir"          location="${topsrc.dir}/jdk7"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 113  Line 128 
128    
129    <!-- Distribution locations -->    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131    <property name="dist.jdk7.docs.dir"          location="${dist.dir}/jsr166-jdk7docs"/>    <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
# Line 121  Line 136 
136    
137    <!-- Jar locations -->    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139    <property name="jdk7product.jar"      location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/>    <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
# Line 152  Line 167 
167      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
168    </path>    </path>
169    
170      <!-- Support @jls tag, used in jdk8+ javadoc -->
171      <!-- TODO: How do we get &trade to work? -->
172      <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
173      <property name="javadoc.jls.cite" value="The Java Language Specification"/>
174      <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
175    
176    <!-- Main targets -->    <!-- Main targets -->
177    
# Line 160  Line 180 
180            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
181    
182    <target name="compile"    <target name="compile"
183            depends="init, configure-compiler"            depends="configure-compiler"
184            description="Compiles main sources to build folder">            description="Compiles src/main sources to build folder">
185    
186      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
187    
188      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
189            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
190              debug="${build.debug}"             debug="${build.debug}"
191         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
192        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
193             source="${build.sourcelevel}"             classpath=""
194               fork="true">             includeAntRuntime="false"
195               includeJavaRuntime="false"
196               executable="${javac8}"
197               fork="true">
198    
199        <include name="**/*.java"/>        <include name="**/*.java"/>
200          <compilerarg line="${build.args}"/>
201        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
202          <compilerarg value="-Xlint:all"/>
203    
204  <!--  <!--
205        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 209  Line 234 
234    
235    
236    <target name="docs"    <target name="docs"
237            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main">
238    
239      <delete dir="${build.javadocs.dir}"/>      <delete dir="${dist.javadocs.dir}"/>
240      <mkdir dir="${build.javadocs.dir}"/>      <mkdir dir="${dist.javadocs.dir}"/>
241    
242      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
243      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
244    
245      <javadoc destdir="${build.javadocs.dir}"      <javadoc destdir="${dist.javadocs.dir}"
246               packagenames="none"               packagenames="none"
247               link="${jdkapidocs.url}"               link="${jdkapi8docs.url}"
248               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
249               sourcepath="${src.dir}:${jdksrc.dir}"               sourcepath="${src.dir}:${jdk8src.dir}"
250               additionalparam="-XDignore.symbol.file=true" >               classpath=""
251                 executable="${javadoc8}">
252          <arg value="-XDignore.symbol.file=true"/>
253          <arg value="-tag"/>
254          <arg value="${javadoc.jls.option}"/>
255        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
256          <include name="**/*.java"/>          <include name="**/*.java"/>
257        </fileset>        </fileset>
# Line 233  Line 262 
262    
263    
264    <target name="dist"    <target name="dist"
265            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, docs"
266            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
267    
268    
# Line 277  Line 306 
306    
307    
308    
   <target name="dist-docs"  
           description="Builds javadocs without custom tags to dist folder">  
   
     <delete dir="${dist.javadocs.dir}"/>  
     <mkdir dir="${dist.javadocs.dir}"/>  
   
     <!-- the packagenames="none" hack below prevents scanning the -->  
     <!-- sourcepath for packages -->  
   
     <javadoc destdir="${dist.javadocs.dir}"  
              packagenames="none"  
              link="${jdkapidocs.url}"  
              overview="${src.dir}/intro.html"  
              sourcepath="${src.dir}:${jdksrc.dir}"  
              additionalparam="-XDignore.symbol.file=true" >  
       <fileset dir="${src.dir}" defaultexcludes="yes">  
         <include name="**/*.java"/>  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
309    <!-- Internal targets -->    <!-- Internal targets -->
310    
311    
# Line 524  Line 529 
529    </target>    </target>
530    
531    
532    <!-- jdk7 -->    <!-- jsr166 4jdk7 -->
533    
534    
535    <target name="jdk7compile"    <target name="4jdk7compile"
536            depends="configure-compiler"            depends="configure-compiler"
537            description="Compiles src/jdk7 sources">            description="Compiles src/jdk7 sources, targeting jdk7">
538    
539      <mkdir dir="${build.jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
540    
541      <javac srcdir="${jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
542             destdir="${build.jdk7.classes.dir}"             destdir="${build.4jdk7.classes.dir}"
543             debug="${build.debug}"             debug="${build.debug}"
544             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
545             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
# Line 553  Line 558 
558    
559      </javac>      </javac>
560    
561      <mkdir dir="${build.jdk7.lib.dir}"/>      <mkdir dir="${build.4jdk7.lib.dir}"/>
562    
563      <jar destfile="${jdk7product.jar}" index="true">      <jar destfile="${4jdk7product.jar}" index="true">
564        <fileset dir="${build.jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
565      </jar>      </jar>
566    
567      <mkdir dir="${build.jdk7.tck.classes.dir}"/>      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
568    
569      <javac srcdir="${tck.src.dir}"      <javac srcdir="${tck.src.dir}"
570             destdir="${build.jdk7.tck.classes.dir}"             destdir="${build.4jdk7.tck.classes.dir}"
571             debug="${build.debug}"             debug="${build.debug}"
572             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
573             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
574             source="1.6"             source="1.6"
575             classpath="${junit.jar}"             classpath="${junit.jar}"
576             bootclasspath="${jdk7product.jar}:${bootclasspath6}"             bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
577             includeAntRuntime="false"             includeAntRuntime="false"
578             includeJavaRuntime="false"             includeJavaRuntime="false"
579             executable="${javac7}"             executable="${javac7}"
# Line 584  Line 589 
589    </target>    </target>
590    
591    
592    <target name="run-jdk7-tck-tests"    <target name="4jdk7-test-tck"
593            depends="jdk7compile"            depends="4jdk7compile"
594            description="Runs tck tests for jsr166-jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
595      <run-tck-tests      <run-tck-tests
596        jvm="${java7}"        jvm="${java7}"
597        tck.classes="${build.jdk7.tck.classes.dir}"        tck.classes="${build.4jdk7.tck.classes.dir}"
598        product.jar="${jdk7product.jar}"/>        product.jar="${4jdk7product.jar}"/>
599    </target>    </target>
600    
601    
602    <target name="run-jdk7-tck-tests-via-junit-task"    <target name="4jdk7-test-tck-junit"
603            depends="jdk7compile">            depends="4jdk7compile"
604              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
605    
606      <junit printsummary="true"      <junit printsummary="true"
607             showoutput="true"             showoutput="true"
# Line 605  Line 611 
611             jvm="${java7}"             jvm="${java7}"
612             fork="true">             fork="true">
613    
614        <jvmarg value="-Xbootclasspath/p:${jdk7product.jar}"/>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
615        <jvmarg value="-server"/>        <jvmarg value="-server"/>
616    
617        <classpath>        <classpath>
618          <pathelement location="${junit.jar}"/>          <pathelement location="${junit.jar}"/>
619          <pathelement location="${build.jdk7.tck.classes.dir}"/>          <pathelement location="${build.4jdk7.tck.classes.dir}"/>
620        </classpath>        </classpath>
621    
622        <formatter type="brief"/>        <formatter type="brief"/>
# Line 622  Line 628 
628    </target>    </target>
629    
630    
631    <target name="jdk7docs"    <target name="4jdk7docs"
632            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
633    
634      <delete dir="${build.jdk7.docs.dir}"/>      <delete dir="${build.4jdk7.docs.dir}"/>
635      <mkdir dir="${build.jdk7.docs.dir}"/>      <mkdir dir="${build.4jdk7.docs.dir}"/>
636    
637      <javadoc destdir="${build.jdk7.docs.dir}"      <javadoc destdir="${build.4jdk7.docs.dir}"
638               packagenames="none"               packagenames="none"
639               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
640               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
641               sourcepath="${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
              bootclasspath="${bootclasspath6}"  
642               classpath=""               classpath=""
643               source="1.6"               executable="${javadoc7}">
644               executable="${javadoc7}"        <arg value="-XDignore.symbol.file=true"/>
645               additionalparam="-XDignore.symbol.file=true" >        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
       <fileset dir="${jdk7src.dir}" defaultexcludes="yes">  
646          <include name="**/*.java"/>          <include name="**/*.java"/>
647        </fileset>        </fileset>
648      </javadoc>      </javadoc>
# Line 646  Line 650 
650    </target>    </target>
651    
652    
653    <target name="jdk7dist"    <target name="4jdk7dist"
654            depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"            depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
655            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
656    
657    
658    
659    <target name="jdk7clean"    <target name="4jdk7clean"
660            description="Removes all build products">            description="Removes all build products">
661    
662      <delete dir="${build.jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
663    
664    </target>    </target>
665    
666    
667    
668    <target name="jdk7dist-clean"    <target name="4jdk7dist-clean"
669            description="Removes all build and distribution products">            description="Removes all build and distribution products">
670    
671    </target>    </target>
672    
673    <target name="jdk7dist-docs"    <target name="4jdk7dist-docs"
674            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs without custom tags to dist folder">
675    
676      <delete dir="${dist.jdk7.docs.dir}"/>      <delete dir="${dist.4jdk7.docs.dir}"/>
677      <mkdir dir="${dist.jdk7.docs.dir}"/>      <mkdir dir="${dist.4jdk7.docs.dir}"/>
678    
679      <javadoc destdir="${dist.jdk7.docs.dir}"      <javadoc destdir="${dist.4jdk7.docs.dir}"
680               packagenames="none"               packagenames="none"
681               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
682               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
683               sourcepath="${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
684               classpath=""               classpath=""
685               executable="${javadoc7}"               executable="${javadoc7}">
              bootclasspath="${bootclasspath6}"  
              source="1.6">  
686        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
687        <fileset dir="${jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
688          <include name="**/*.java"/>          <include name="**/*.java"/>
689        </fileset>        </fileset>
690      </javadoc>      </javadoc>
691    
692    </target>    </target>
693    
694    <target name="jdk7dist-jar"    <target name="4jdk7dist-jar"
695            depends="jdk7clean, jdk7compile">            depends="4jdk7clean, 4jdk7compile">
696    
697      <copy file="${jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
698    
699    </target>    </target>
700    
# Line 1061  Line 1063 
1063               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e,jsr166e.extra"
1064               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
1065               source="1.7"               source="1.7"
1066               sourcepath="${topsrc.dir}:${jdk7src.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk7src.dir}"
1067               executable="${javadoc7}"               executable="${javadoc7}"
1068               additionalparam="-XDignore.symbol.file=true" >               additionalparam="-XDignore.symbol.file=true" >
1069        <fileset dir="${topsrc.dir}" defaultexcludes="yes">        <fileset dir="${topsrc.dir}" defaultexcludes="yes">

Legend:
Removed from v.1.97  
changed lines
  Added in v.1.100

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27