/[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.101 by jsr166, Sat Jan 19 17:30:36 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      <!-- TODO: Why isn't @jls a "standard" tag? -->
173      <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
174      <property name="javadoc.jls.cite" value="The Java Language Specification"/>
175      <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
176    
177    <!-- Main targets -->    <!-- Main targets -->
178    
# Line 160  Line 181 
181            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
182    
183    <target name="compile"    <target name="compile"
184            depends="init, configure-compiler"            depends="configure-compiler"
185            description="Compiles main sources to build folder">            description="Compiles src/main sources to build folder">
186    
187      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
188    
189      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
190            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
191              debug="${build.debug}"             debug="${build.debug}"
192         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
193        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
194             source="${build.sourcelevel}"             classpath=""
195               fork="true">             includeAntRuntime="false"
196               includeJavaRuntime="false"
197               executable="${javac8}"
198               fork="true">
199    
200        <include name="**/*.java"/>        <include name="**/*.java"/>
201          <compilerarg line="${build.args}"/>
202        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
203          <compilerarg value="-Xlint:all"/>
204    
205  <!--  <!--
206        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 209  Line 235 
235    
236    
237    <target name="docs"    <target name="docs"
238            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main">
239    
240      <delete dir="${build.javadocs.dir}"/>      <delete dir="${dist.javadocs.dir}"/>
241      <mkdir dir="${build.javadocs.dir}"/>      <mkdir dir="${dist.javadocs.dir}"/>
242    
243      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
244      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
245    
246      <javadoc destdir="${build.javadocs.dir}"      <javadoc destdir="${dist.javadocs.dir}"
247               packagenames="none"               packagenames="none"
248               link="${jdkapidocs.url}"               link="${jdkapi8docs.url}"
249               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
250               sourcepath="${src.dir}:${jdksrc.dir}"               sourcepath="${src.dir}:${jdk8src.dir}"
251               additionalparam="-XDignore.symbol.file=true" >               classpath=""
252                 executable="${javadoc8}">
253          <arg value="-XDignore.symbol.file=true"/>
254          <arg value="-tag"/>
255          <arg value="${javadoc.jls.option}"/>
256        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
257          <include name="**/*.java"/>          <include name="**/*.java"/>
258        </fileset>        </fileset>
# Line 233  Line 263 
263    
264    
265    <target name="dist"    <target name="dist"
266            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, docs"
267            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
268    
269    
# Line 277  Line 307 
307    
308    
309    
   <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>  
   
   
   
310    <!-- Internal targets -->    <!-- Internal targets -->
311    
312    
# Line 524  Line 530 
530    </target>    </target>
531    
532    
533    <!-- jdk7 -->    <!-- jsr166 4jdk7 -->
534    
535    
536    <target name="jdk7compile"    <target name="4jdk7compile"
537            depends="configure-compiler"            depends="configure-compiler"
538            description="Compiles src/jdk7 sources">            description="Compiles src/jdk7 sources, targeting jdk7">
539    
540      <mkdir dir="${build.jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
541    
542      <javac srcdir="${jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
543             destdir="${build.jdk7.classes.dir}"             destdir="${build.4jdk7.classes.dir}"
544             debug="${build.debug}"             debug="${build.debug}"
545             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
546             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
# Line 553  Line 559 
559    
560      </javac>      </javac>
561    
562      <mkdir dir="${build.jdk7.lib.dir}"/>      <mkdir dir="${build.4jdk7.lib.dir}"/>
563    
564      <jar destfile="${jdk7product.jar}" index="true">      <jar destfile="${4jdk7product.jar}" index="true">
565        <fileset dir="${build.jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
566      </jar>      </jar>
567    
568      <mkdir dir="${build.jdk7.tck.classes.dir}"/>      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
569    
570      <javac srcdir="${tck.src.dir}"      <javac srcdir="${tck.src.dir}"
571             destdir="${build.jdk7.tck.classes.dir}"             destdir="${build.4jdk7.tck.classes.dir}"
572             debug="${build.debug}"             debug="${build.debug}"
573             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
574             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
575             source="1.6"             source="1.6"
576             classpath="${junit.jar}"             classpath="${junit.jar}"
577             bootclasspath="${jdk7product.jar}:${bootclasspath6}"             bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
578             includeAntRuntime="false"             includeAntRuntime="false"
579             includeJavaRuntime="false"             includeJavaRuntime="false"
580             executable="${javac7}"             executable="${javac7}"
# Line 584  Line 590 
590    </target>    </target>
591    
592    
593    <target name="run-jdk7-tck-tests"    <target name="4jdk7-test-tck"
594            depends="jdk7compile"            depends="4jdk7compile"
595            description="Runs tck tests for jsr166-jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
596      <run-tck-tests      <run-tck-tests
597        jvm="${java7}"        jvm="${java7}"
598        tck.classes="${build.jdk7.tck.classes.dir}"        tck.classes="${build.4jdk7.tck.classes.dir}"
599        product.jar="${jdk7product.jar}"/>        product.jar="${4jdk7product.jar}"/>
600    </target>    </target>
601    
602    
603    <target name="run-jdk7-tck-tests-via-junit-task"    <target name="4jdk7-test-tck-junit"
604            depends="jdk7compile">            depends="4jdk7compile"
605              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
606    
607      <junit printsummary="true"      <junit printsummary="true"
608             showoutput="true"             showoutput="true"
# Line 605  Line 612 
612             jvm="${java7}"             jvm="${java7}"
613             fork="true">             fork="true">
614    
615        <jvmarg value="-Xbootclasspath/p:${jdk7product.jar}"/>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
616        <jvmarg value="-server"/>        <jvmarg value="-server"/>
617    
618        <classpath>        <classpath>
619          <pathelement location="${junit.jar}"/>          <pathelement location="${junit.jar}"/>
620          <pathelement location="${build.jdk7.tck.classes.dir}"/>          <pathelement location="${build.4jdk7.tck.classes.dir}"/>
621        </classpath>        </classpath>
622    
623        <formatter type="brief"/>        <formatter type="brief"/>
# Line 622  Line 629 
629    </target>    </target>
630    
631    
632    <target name="jdk7docs"    <target name="4jdk7docs"
633            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
634    
635      <delete dir="${build.jdk7.docs.dir}"/>      <delete dir="${build.4jdk7.docs.dir}"/>
636      <mkdir dir="${build.jdk7.docs.dir}"/>      <mkdir dir="${build.4jdk7.docs.dir}"/>
637    
638      <javadoc destdir="${build.jdk7.docs.dir}"      <javadoc destdir="${build.4jdk7.docs.dir}"
639               packagenames="none"               packagenames="none"
640               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
641               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
642               sourcepath="${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
              bootclasspath="${bootclasspath6}"  
643               classpath=""               classpath=""
644               source="1.6"               executable="${javadoc7}">
645               executable="${javadoc7}"        <arg value="-XDignore.symbol.file=true"/>
646               additionalparam="-XDignore.symbol.file=true" >        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
       <fileset dir="${jdk7src.dir}" defaultexcludes="yes">  
647          <include name="**/*.java"/>          <include name="**/*.java"/>
648        </fileset>        </fileset>
649      </javadoc>      </javadoc>
# Line 646  Line 651 
651    </target>    </target>
652    
653    
654    <target name="jdk7dist"    <target name="4jdk7dist"
655            depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"            depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
656            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
657    
658    
659    
660    <target name="jdk7clean"    <target name="4jdk7clean"
661            description="Removes all build products">            description="Removes all build products">
662    
663      <delete dir="${build.jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
664    
665    </target>    </target>
666    
667    
668    
669    <target name="jdk7dist-clean"    <target name="4jdk7dist-clean"
670            description="Removes all build and distribution products">            description="Removes all build and distribution products">
671    
672    </target>    </target>
673    
674    <target name="jdk7dist-docs"    <target name="4jdk7dist-docs"
675            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs without custom tags to dist folder">
676    
677      <delete dir="${dist.jdk7.docs.dir}"/>      <delete dir="${dist.4jdk7.docs.dir}"/>
678      <mkdir dir="${dist.jdk7.docs.dir}"/>      <mkdir dir="${dist.4jdk7.docs.dir}"/>
679    
680      <javadoc destdir="${dist.jdk7.docs.dir}"      <javadoc destdir="${dist.4jdk7.docs.dir}"
681               packagenames="none"               packagenames="none"
682               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
683               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
684               sourcepath="${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
685               classpath=""               classpath=""
686               executable="${javadoc7}"               executable="${javadoc7}">
              bootclasspath="${bootclasspath6}"  
              source="1.6">  
687        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
688        <fileset dir="${jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
689          <include name="**/*.java"/>          <include name="**/*.java"/>
690        </fileset>        </fileset>
691      </javadoc>      </javadoc>
692    
693    </target>    </target>
694    
695    <target name="jdk7dist-jar"    <target name="4jdk7dist-jar"
696            depends="jdk7clean, jdk7compile">            depends="4jdk7clean, 4jdk7compile">
697    
698      <copy file="${jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
699    
700    </target>    </target>
701    
# Line 1061  Line 1064 
1064               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e,jsr166e.extra"
1065               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
1066               source="1.7"               source="1.7"
1067               sourcepath="${topsrc.dir}:${jdk7src.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk7src.dir}"
1068               executable="${javadoc7}"               executable="${javadoc7}"
1069               additionalparam="-XDignore.symbol.file=true" >               additionalparam="-XDignore.symbol.file=true" >
1070        <fileset dir="${topsrc.dir}" defaultexcludes="yes">        <fileset dir="${topsrc.dir}" defaultexcludes="yes">

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

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