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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines