ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
(Generate patch)

Comparing jsr166/build.xml (file contents):
Revision 1.98 by jsr166, Wed Jan 16 07:39:51 2013 UTC vs.
Revision 1.102 by jsr166, Sat Jan 19 20:53:34 2013 UTC

# Line 16 | Line 16
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.
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>
27  
# Line 44 | Line 49
49    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51  
52 <  <property name="build.jdk7.dir"              location="${build.dir}/jdk7"/>
53 <  <property name="build.jdk7.lib.dir"          location="${build.jdk7.dir}"/>
54 <  <property name="build.jdk7.classes.dir"      location="${build.jdk7.dir}/classes"/>
55 <  <property name="build.jdk7.tck.classes.dir"  location="${build.jdk7.dir}/tck/classes"/>
56 <  <property name="build.jdk7.docs.dir"         location="${build.jdk7.dir}/docs"/>
52 >  <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53 >  <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54 >  <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55 >  <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56 >  <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
57  
58    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
# Line 72 | Line 77
77    <macrodef name="defjdklocations">
78      <attribute name="v"/>
79      <sequential>
80 <    <property name="jdk@{v}.home"  location="${jdks.home}/jdk@{v}"/>
81 <    <property name="java@{v}"      location="${jdk@{v}.home}/bin/java"/>
82 <    <property name="javac@{v}"     location="${jdk@{v}.home}/bin/javac"/>
83 <    <property name="javadoc@{v}"   location="${jdk@{v}.home}/bin/javadoc"/>
84 <    <property name="bootdir@{v}"   location="${jdk@{v}.home}/jre/lib"/>
80 >    <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81 >    <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82 >    <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83 >    <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84 >    <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}"
87       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>
# Line 113 | Line 119
119    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>
122 <  <property name="jdk7src.dir"          location="${topsrc.dir}/jdk7"/>
122 >  <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 122 | Line 128
128  
129    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131 <  <property name="dist.jdk7.docs.dir"          location="${dist.dir}/jsr166-jdk7docs"/>
131 >  <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
# Line 130 | Line 136
136  
137    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139 <  <property name="jdk7product.jar"      location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/>
139 >  <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
# Line 161 | Line 167
167      <pathelement location="${build.loops.dir}"/>
168    </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 -->
178  
# Line 169 | Line 181
181            description="Builds all public jars and docs"/>
182  
183    <target name="compile"
184 <          depends="init, configure-compiler"
185 <          description="Compiles main sources to build folder">
184 >          depends="configure-compiler"
185 >          description="Compiles src/main sources to build dir">
186  
187      <mkdir dir="${build.classes.dir}"/>
188  
189      <javac srcdir="${src.dir}"
190 <          destdir="${build.classes.dir}"
191 <            debug="${build.debug}"
192 <       debuglevel="${build.debuglevel}"
193 <      deprecation="${build.deprecation}"
194 <           source="${build.sourcelevel}"
195 <             fork="true">
190 >           destdir="${build.classes.dir}"
191 >           debug="${build.debug}"
192 >           debuglevel="${build.debuglevel}"
193 >           deprecation="${build.deprecation}"
194 >           classpath=""
195 >           includeAntRuntime="false"
196 >           includeJavaRuntime="false"
197 >           executable="${javac8}"
198 >           fork="true">
199  
200        <include name="**/*.java"/>
201 +      <compilerarg line="${build.args}"/>
202        <compilerarg value="-XDignore.symbol.file=true"/>
203 +      <compilerarg value="-Xlint:all"/>
204  
205   <!--
206        <exclude name="java/lang/**"/>
# Line 218 | Line 235
235  
236  
237    <target name="docs"
238 <          description="Builds javadocs with custom tags to build folder">
238 >          description="Builds javadocs for src/main to dist dir">
239  
240 <    <delete dir="${build.javadocs.dir}"/>
241 <    <mkdir dir="${build.javadocs.dir}"/>
240 >    <delete dir="${dist.javadocs.dir}"/>
241 >    <mkdir dir="${dist.javadocs.dir}"/>
242  
243      <!-- the packagenames="none" hack below prevents scanning the -->
244      <!-- sourcepath for packages -->
245  
246 <    <javadoc destdir="${build.javadocs.dir}"
246 >    <javadoc destdir="${dist.javadocs.dir}"
247               packagenames="none"
248 <             link="${jdkapidocs.url}"
248 >             link="${jdkapi8docs.url}"
249               overview="${src.dir}/intro.html"
250 <             sourcepath="${src.dir}:${jdksrc.dir}"
251 <             additionalparam="-XDignore.symbol.file=true" >
250 >             sourcepath="${src.dir}:${jdk8src.dir}"
251 >             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">
257          <include name="**/*.java"/>
258        </fileset>
# Line 242 | Line 263
263  
264  
265    <target name="dist"
266 <          depends="init, dist-clean, dist-jar, dist-docs"
266 >          depends="init, dist-clean, dist-jar, docs"
267            description="Puts all distributable products in single hierarchy"/>
268  
269  
# Line 286 | Line 307
307  
308  
309  
289  <target name="dist-docs"
290          description="Builds javadocs without custom tags to dist folder">
291
292    <delete dir="${dist.javadocs.dir}"/>
293    <mkdir dir="${dist.javadocs.dir}"/>
294
295    <!-- the packagenames="none" hack below prevents scanning the -->
296    <!-- sourcepath for packages -->
297
298    <javadoc destdir="${dist.javadocs.dir}"
299             packagenames="none"
300             link="${jdkapidocs.url}"
301             overview="${src.dir}/intro.html"
302             sourcepath="${src.dir}:${jdksrc.dir}"
303             additionalparam="-XDignore.symbol.file=true" >
304      <fileset dir="${src.dir}" defaultexcludes="yes">
305        <include name="**/*.java"/>
306      </fileset>
307    </javadoc>
308
309  </target>
310
311
312
310    <!-- Internal targets -->
311  
312  
# Line 533 | Line 530
530    </target>
531  
532  
533 <  <!-- jdk7 -->
533 >  <!-- jsr166 4jdk7 -->
534  
535  
536 <  <target name="jdk7compile"
536 >  <target name="4jdk7compile"
537            depends="configure-compiler"
538 <          description="Compiles src/jdk7 sources">
538 >          description="Compiles src/jdk7 sources, targeting jdk7">
539  
540 <    <mkdir dir="${build.jdk7.classes.dir}"/>
540 >    <mkdir dir="${build.4jdk7.classes.dir}"/>
541  
542 <    <javac srcdir="${jdk7src.dir}"
543 <           destdir="${build.jdk7.classes.dir}"
542 >    <javac srcdir="${4jdk7src.dir}"
543 >           destdir="${build.4jdk7.classes.dir}"
544             debug="${build.debug}"
545             debuglevel="${build.debuglevel}"
546             deprecation="${build.deprecation}"
# Line 562 | Line 559
559  
560      </javac>
561  
562 <    <mkdir dir="${build.jdk7.lib.dir}"/>
562 >    <mkdir dir="${build.4jdk7.lib.dir}"/>
563  
564 <    <jar destfile="${jdk7product.jar}" index="true">
565 <      <fileset dir="${build.jdk7.classes.dir}"/>
564 >    <jar destfile="${4jdk7product.jar}" index="true">
565 >      <fileset dir="${build.4jdk7.classes.dir}"/>
566      </jar>
567  
568 <    <mkdir dir="${build.jdk7.tck.classes.dir}"/>
568 >    <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
569  
570      <javac srcdir="${tck.src.dir}"
571 <           destdir="${build.jdk7.tck.classes.dir}"
571 >           destdir="${build.4jdk7.tck.classes.dir}"
572             debug="${build.debug}"
573             debuglevel="${build.debuglevel}"
574             deprecation="${build.deprecation}"
575             source="1.6"
576             classpath="${junit.jar}"
577 <           bootclasspath="${jdk7product.jar}:${bootclasspath6}"
577 >           bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
578             includeAntRuntime="false"
579             includeJavaRuntime="false"
580             executable="${javac7}"
# Line 593 | Line 590
590    </target>
591  
592  
593 <  <target name="run-jdk7-tck-tests"
594 <          depends="jdk7compile"
595 <          description="Runs tck tests for jsr166-jdk7 directly">
593 >  <target name="4jdk7-test-tck"
594 >          depends="4jdk7compile"
595 >          description="Runs tck tests for jsr166-4jdk7 directly">
596      <run-tck-tests
597        jvm="${java7}"
598 <      tck.classes="${build.jdk7.tck.classes.dir}"
599 <      product.jar="${jdk7product.jar}"/>
598 >      tck.classes="${build.4jdk7.tck.classes.dir}"
599 >      product.jar="${4jdk7product.jar}"/>
600    </target>
601  
602  
603 <  <target name="run-jdk7-tck-tests-via-junit-task"
604 <          depends="jdk7compile">
603 >  <target name="4jdk7-test-tck-junit"
604 >          depends="4jdk7compile"
605 >          description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
606  
607      <junit printsummary="true"
608             showoutput="true"
# Line 614 | Line 612
612             jvm="${java7}"
613             fork="true">
614  
615 <      <jvmarg value="-Xbootclasspath/p:${jdk7product.jar}"/>
615 >      <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
616        <jvmarg value="-server"/>
617  
618        <classpath>
619          <pathelement location="${junit.jar}"/>
620 <        <pathelement location="${build.jdk7.tck.classes.dir}"/>
620 >        <pathelement location="${build.4jdk7.tck.classes.dir}"/>
621        </classpath>
622  
623        <formatter type="brief"/>
# Line 631 | Line 629
629    </target>
630  
631  
632 <  <target name="jdk7docs"
633 <          description="Builds javadocs with custom tags to build folder">
632 >  <target name="4jdk7docs"
633 >          description="Builds javadocs for src/jdk7 to dist dir">
634  
635 <    <delete dir="${build.jdk7.docs.dir}"/>
636 <    <mkdir dir="${build.jdk7.docs.dir}"/>
635 >    <delete dir="${dist.4jdk7.docs.dir}"/>
636 >    <mkdir dir="${dist.4jdk7.docs.dir}"/>
637  
638 <    <javadoc destdir="${build.jdk7.docs.dir}"
638 >    <javadoc destdir="${dist.4jdk7.docs.dir}"
639               packagenames="none"
640               link="${jdkapi7docs.url}"
641 <             overview="${jdk7src.dir}/intro.html"
642 <             sourcepath="${jdk7src.dir}"
645 <             bootclasspath="${bootclasspath6}"
641 >             overview="${4jdk7src.dir}/intro.html"
642 >             sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
643               classpath=""
644 <             source="1.6"
645 <             executable="${javadoc7}"
646 <             additionalparam="-XDignore.symbol.file=true" >
650 <      <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
644 >             executable="${javadoc7}">
645 >      <arg value="-XDignore.symbol.file=true"/>
646 >      <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
647          <include name="**/*.java"/>
648        </fileset>
649      </javadoc>
# Line 655 | Line 651
651    </target>
652  
653  
654 <  <target name="jdk7dist"
655 <          depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"
654 >  <target name="4jdk7dist"
655 >          depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
656            description="Puts all distributable products in single hierarchy"/>
657  
658  
659  
660 <  <target name="jdk7clean"
660 >  <target name="4jdk7clean"
661            description="Removes all build products">
662  
663 <    <delete dir="${build.jdk7.dir}"/>
663 >    <delete dir="${build.4jdk7.dir}"/>
664  
665    </target>
666  
667  
668  
669 <  <target name="jdk7dist-clean"
669 >  <target name="4jdk7dist-clean"
670            description="Removes all build and distribution products">
671  
672    </target>
673  
674 <  <target name="jdk7dist-docs"
675 <          description="Builds javadocs without custom tags to dist folder">
680 <
681 <    <delete dir="${dist.jdk7.docs.dir}"/>
682 <    <mkdir dir="${dist.jdk7.docs.dir}"/>
683 <
684 <    <javadoc destdir="${dist.jdk7.docs.dir}"
685 <             packagenames="none"
686 <             link="${jdkapi7docs.url}"
687 <             overview="${jdk7src.dir}/intro.html"
688 <             sourcepath="${jdk7src.dir}"
689 <             classpath=""
690 <             executable="${javadoc7}"
691 <             bootclasspath="${bootclasspath6}"
692 <             source="1.6">
693 <      <arg value="-XDignore.symbol.file=true"/>
694 <      <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
695 <        <include name="**/*.java"/>
696 <      </fileset>
697 <    </javadoc>
698 <
699 <  </target>
700 <
701 <  <target name="jdk7dist-jar"
702 <          depends="jdk7clean, jdk7compile">
674 >  <target name="4jdk7dist-jar"
675 >          depends="4jdk7clean, 4jdk7compile">
676  
677 <    <copy file="${jdk7product.jar}" todir="${dist.dir}"/>
677 >    <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
678  
679    </target>
680  
# Line 747 | Line 720
720  
721  
722    <target name="jsr166xdocs"
723 <          description="Builds javadocs with custom tags to build folder">
723 >          description="Builds javadocs to dist dir">
724  
725      <delete dir="${build.jsr166xjavadocs.dir}"/>
726      <mkdir dir="${build.jsr166xjavadocs.dir}"/>
# Line 786 | Line 759
759  
760  
761    <target name="jsr166xdist-docs"
762 <          description="Builds javadocs without custom tags to dist folder">
762 >          description="Builds javadocs to dist dir">
763  
764      <delete dir="${dist.jsr166xjavadocs.dir}"/>
765      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
# Line 852 | Line 825
825  
826  
827    <target name="jsr166ydocs"
828 <          description="Builds javadocs with custom tags to build folder">
828 >          description="Builds javadocs to dist dir">
829  
830      <delete dir="${build.jsr166yjavadocs.dir}"/>
831      <mkdir dir="${build.jsr166yjavadocs.dir}"/>
# Line 889 | Line 862
862    </target>
863  
864    <target name="jsr166ydist-docs"
865 <          description="Builds javadocs without custom tags to dist folder">
865 >          description="Builds javadocs to dist dir">
866  
867      <delete dir="${dist.jsr166yjavadocs.dir}"/>
868      <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
# Line 957 | Line 930
930  
931  
932    <target name="extra166ydocs"
933 <          description="Builds javadocs with custom tags to build folder">
933 >          description="Builds javadocs with custom tags to build dir">
934  
935      <delete dir="${build.extra166yjavadocs.dir}"/>
936      <mkdir dir="${build.extra166yjavadocs.dir}"/>
# Line 994 | Line 967
967    </target>
968  
969    <target name="extra166ydist-docs"
970 <          description="Builds javadocs without custom tags to dist folder">
970 >          description="Builds javadocs to dist dir">
971  
972      <delete dir="${dist.extra166yjavadocs.dir}"/>
973      <mkdir dir="${dist.extra166yjavadocs.dir}"/>
# Line 1061 | Line 1034
1034  
1035  
1036    <target name="jsr166edocs"
1037 <          description="Builds javadocs with custom tags to build folder">
1037 >          description="Builds javadocs with custom tags to build dir">
1038  
1039      <delete dir="${build.jsr166ejavadocs.dir}"/>
1040      <mkdir dir="${build.jsr166ejavadocs.dir}"/>
# Line 1070 | Line 1043
1043               packagenames="jsr166e,jsr166e.extra"
1044               link="${jdkapi7docs.url}"
1045               source="1.7"
1046 <             sourcepath="${topsrc.dir}:${jdk7src.dir}:${jdksrc.dir}"
1046 >             sourcepath="${topsrc.dir}:${jdk7src.dir}"
1047               executable="${javadoc7}"
1048               additionalparam="-XDignore.symbol.file=true" >
1049        <fileset dir="${topsrc.dir}" defaultexcludes="yes">
# Line 1103 | Line 1076
1076    </target>
1077  
1078    <target name="jsr166edist-docs"
1079 <          description="Builds javadocs without custom tags to dist folder">
1079 >          description="Builds javadocs to dist dir">
1080  
1081      <delete dir="${dist.jsr166ejavadocs.dir}"/>
1082      <mkdir dir="${dist.jsr166ejavadocs.dir}"/>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines