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.117 by jsr166, Sun Jan 20 07:43:30 2013 UTC vs.
Revision 1.119 by jsr166, Mon Jan 21 02:31:40 2013 UTC

# Line 62 | Line 62
62    <property name="build.jsr166e.classes.dir"    location="${build.jsr166e.dir}/classes"/>
63    <property name="build.extra166y.classes.dir"  location="${build.extra166y.dir}/classes"/>
64  
65 <  <!-- JDK binary locations -->
65 >  <!-- JDK locations -->
66    <property name="jdks.home"  location="${user.home}/jdk"/>
67  
68    <macrodef name="defjdklocations">
# Line 72 | Line 72
72      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
73      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
74      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
75    <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
75      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
76 <    <property name="bootclasspath@{v}"
77 <     value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
76 >    <local name="boot.jar.dir"/>
77 >    <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
78 >    <path id="bootclasspath@{v}">
79 >      <pathelement path="${boot.jar.dir}/resources.jar"/>
80 >      <pathelement path="${boot.jar.dir}/rt.jar"/>
81 >      <pathelement path="${boot.jar.dir}/jsse.jar"/>
82 >      <pathelement path="${boot.jar.dir}/jce.jar"/>
83 >      <pathelement path="${boot.jar.dir}/charsets.jar"/>
84 >    </path>
85 >    <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
86      </sequential>
87    </macrodef>
88  
# Line 83 | Line 90
90    <defjdklocations v="7"/>
91    <defjdklocations v="8"/>
92  
86  <macrodef name="run-tck-tests">
87    <attribute name="target"/>
88    <attribute name="workdir"/>
89    <attribute name="product.jar" default="${product.jar}"/>
90    <attribute name="jvmflags" default=""/>
91    <sequential>
92
93    <mkdir dir="@{workdir}/tck-classes"/>
94
95    <javac srcdir="${tck.src.dir}"
96           destdir="@{workdir}/tck-classes"
97           debug="${build.debug}"
98           debuglevel="${build.debuglevel}"
99           deprecation="${build.deprecation}"
100           source="6"
101           classpath="${junit.jar}"
102           bootclasspath="@{product.jar}:${bootclasspath6}"
103           includeAntRuntime="false"
104           includeJavaRuntime="false"
105           executable="${javac@{target}}"
106           fork="true">
107
108      <include name="**/*.java"/>
109      <compilerarg value="-XDignore.symbol.file=true"/>
110      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
111      <compilerarg line="${build.args}"/>
112    </javac>
113
114    <java classname="JSR166TestCase"
115          failonerror="true"
116          jvm="${java@{target}}"
117          fork="true">
118        <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
119        <jvmarg line="@{jvmflags}"/>
120        <classpath>
121          <pathelement location="${junit.jar}"/>
122          <pathelement location="@{workdir}/tck-classes"/>
123        </classpath>
124    </java>
125
126    </sequential>
127  </macrodef>
128
93    <!-- Source locations -->
94    <property name="src.dir"              location="${basedir}/src/main"/>
95    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 158 | Line 122
122    <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
123    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
124  
161  <!-- Bootclasspath argument -->
162  <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
163
125    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
126    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
127    <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
# Line 184 | Line 145
145      <pathelement location="${junit.jar}"/>
146    </path>
147  
148 +  <macrodef name="run-tck-tests">
149 +    <attribute name="target"/>
150 +    <attribute name="workdir"/>
151 +    <attribute name="product.jar" default="${product.jar}"/>
152 +    <attribute name="jvmflags" default=""/>
153 +    <sequential>
154 +
155 +    <mkdir dir="@{workdir}/tck-classes"/>
156 +
157 +    <javac srcdir="${tck.src.dir}"
158 +           destdir="@{workdir}/tck-classes"
159 +           debug="${build.debug}"
160 +           debuglevel="${build.debuglevel}"
161 +           deprecation="${build.deprecation}"
162 +           source="6"
163 +           classpath="${junit.jar}"
164 +           bootclasspath="@{product.jar}:${bootclasspath6}"
165 +           includeAntRuntime="false"
166 +           includeJavaRuntime="false"
167 +           executable="${javac@{target}}"
168 +           fork="true">
169 +
170 +      <include name="JSR166TestCase.java"/>
171 +      <compilerarg value="-XDignore.symbol.file=true"/>
172 +      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
173 +      <compilerarg line="${build.args}"/>
174 +
175 +    </javac>
176 +
177 +    <java classname="JSR166TestCase"
178 +          failonerror="true"
179 +          jvm="${java@{target}}"
180 +          fork="true">
181 +        <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
182 +        <jvmarg line="@{jvmflags}"/>
183 +        <classpath>
184 +          <pathelement location="${junit.jar}"/>
185 +          <pathelement location="@{workdir}/tck-classes"/>
186 +        </classpath>
187 +    </java>
188 +
189 +    </sequential>
190 +  </macrodef>
191 +
192    <!-- ALoops classpath -->
193    <path id="loops.classpath">
194      <pathelement location="${build.loops.dir}"/>
# Line 220 | Line 225
225             fork="true">
226  
227        <include name="**/*.java"/>
223      <compilerarg line="${build.args}"/>
228        <compilerarg value="-XDignore.symbol.file=true"/>
229        <compilerarg value="-Xlint:all"/>
226
227 <!--
228      <exclude name="java/lang/**"/>
230        <compilerarg line="${build.args}"/>
230      <compilerarg line="-Xlint -Xmaxwarns 1000"/>
231 -->
231  
232      </javac>
234
233    </target>
234  
235  
238
236    <target name="jar"
237            depends="compile"
238            description="Builds library jar from compiled sources">
# Line 243 | Line 240
240      <jar destfile="${product.jar}">
241        <fileset dir="${build.classes.dir}"/>
242      </jar>
246
243    </target>
244  
245  
250
246    <target name="test"
247            depends="configure-tests, report-tests"
248            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
249  
250  
256
251    <target name="docs"
252            description="Builds javadocs for src/main to dist dir">
253  
# Line 270 | Line 264
264               sourcepath="${src.dir}:${jdk8src.dir}"
265               classpath=""
266               executable="${javadoc8}">
273      <arg value="-XDignore.symbol.file=true"/>
274      <arg value="-tag"/>
275      <arg value="${javadoc.jls.option}"/>
267        <fileset dir="${src.dir}" defaultexcludes="yes">
268          <include name="**/*.java"/>
269        </fileset>
270 +      <arg value="-XDignore.symbol.file=true"/>
271 +      <arg value="-tag"/>
272 +      <arg value="${javadoc.jls.option}"/>
273      </javadoc>
280
274    </target>
275  
276  
284
277    <target name="dist"
278            depends="dist-clean, dist-jar, docs"
279            description="Puts all distributable products in single hierarchy"/>
# Line 302 | Line 294
294        <exclude name="**/SyntaxTest.java"/>
295        <exclude name="**/SuperfluousAbstract.java"/>
296      </jar>
305
297    </target>
298  
299  
309
300    <target name="clean"
301            description="Removes all build products">
302  
# Line 315 | Line 305
305    </target>
306  
307  
318
308    <target name="dist-clean"
309            description="Removes all build and distribution products">
310  
# Line 324 | Line 313
313    </target>
314  
315  
327
316    <!-- Internal targets -->
317  
318  
# Line 348 | Line 336
336             deprecation="${build.deprecation}"
337             source="6"
338             classpath="${junit.jar}"
339 <           bootclasspath="${product.jar}:${bootclasspath6}"
339 >           bootclasspath="@{product.jar}:${bootclasspath6}"
340             includeAntRuntime="false"
341             includeJavaRuntime="false"
342             executable="${javac8}"
343             fork="true">
344  
345        <include name="**/*.java"/>
358      <compilerarg line="${build.args}"/>
346        <compilerarg value="-XDignore.symbol.file=true"/>
347        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
348 +      <compilerarg line="${build.args}"/>
349  
350      </javac>
351  
# Line 368 | Line 356
356             deprecation="${build.deprecation}"
357             source="6"
358             classpath=""
359 <           bootclasspath="${product.jar}:${bootclasspath6}"
359 >           bootclasspath="@{product.jar}:${bootclasspath6}"
360             includeAntRuntime="false"
361             includeJavaRuntime="false"
362             executable="${javac8}"
363             fork="true">
364  
365        <include name="jsr166/test/**/*.java"/>
378
379      <compilerarg line="${build.args}"/>
366        <compilerarg value="-XDignore.symbol.file=true"/>
367        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
368 +      <compilerarg line="${build.args}"/>
369  
370      </javac>
371  
# Line 391 | Line 378
378             source="${build.sourcelevel}"
379               fork="true">
380  
381 <      <compilerarg value="${bootclasspath.args}"/>
395 <      <compilerarg line="${build.args}"/>
381 >      <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
382        <compilerarg value="-XDignore.symbol.file=true"/>
383 +      <compilerarg line="${build.args}"/>
384  
385      </javac>
386   -->
# Line 546 | Line 533
533  
534    <!-- jsr166 4jdk7 -->
535  
549
536    <target name="4jdk7compile"
537            depends="configure-compiler"
538            description="Compiles src/jdk7 sources, targeting jdk7">
# Line 567 | Line 553
553             fork="true">
554  
555        <include name="**/*.java"/>
570      <compilerarg line="${build.args}"/>
556        <compilerarg value="-XDignore.symbol.file=true"/>
557        <compilerarg value="-Xlint:all"/>
558 +      <compilerarg line="${build.args}"/>
559  
560      </javac>
575
561    </target>
562  
563 +
564    <target name="4jdk7-jar"
565            depends="4jdk7compile"
566            description="Builds library jar from compiled sources">
# Line 666 | Line 652
652               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
653               classpath=""
654               executable="${javadoc7}">
669      <arg value="-XDignore.symbol.file=true"/>
655        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
656          <include name="**/*.java"/>
657        </fileset>
658 +      <arg value="-XDignore.symbol.file=true"/>
659      </javadoc>
674
660    </target>
661  
662  
# Line 680 | Line 665
665            description="Puts all distributable products in single hierarchy"/>
666  
667  
683
668    <target name="4jdk7clean"
669            description="Removes all 4jdk7 build products">
670  
# Line 689 | Line 673
673    </target>
674  
675  
692
676    <target name="4jdk7dist-clean"
677            description="Removes all build and distribution products">
678  
679    </target>
680  
681    <target name="4jdk7dist-jar"
682 <          depends="4jdk7clean, 4jdk7compile">
682 >          depends="4jdk7clean, 4jdk7-jar">
683  
684      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
685  
# Line 717 | Line 700
700             debuglevel="${build.debuglevel}"
701             deprecation="${build.deprecation}"
702             classpath=""
720           source="5"
703             bootclasspath="${bootclasspath6}"
704 +           source="5"
705             includeAntRuntime="false"
706             includeJavaRuntime="false"
707             executable="${javac7}"
708             fork="true">
709  
710        <include name="jsr166x/**/*.java"/>
728      <compilerarg line="${build.args}"/>
711        <compilerarg value="-XDignore.symbol.file=true"/>
712        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
713 +      <compilerarg line="${build.args}"/>
714  
715      </javac>
733
716    </target>
717  
718  
719 <
738 <  <target name="jsr166xjar"
719 >  <target name="jsr166x-jar"
720            depends="jsr166xcompile"
721            description="Builds library jar from compiled sources">
722  
# Line 746 | Line 727
727    </target>
728  
729  
749
730    <target name="jsr166xdocs"
731            description="Builds javadocs to dist dir">
732  
# Line 756 | Line 736
736      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
737               packagenames="jsr166x.*"
738               link="${jdkapidocs.url}"
759             source="5"
760             bootclasspath="${bootclasspath6}"
739               sourcepath="${topsrc.dir}:${jdk6src.dir}"
740 <             executable="${javadoc7}"
741 <             additionalparam="-XDignore.symbol.file=true"/>
740 >             bootclasspath="${bootclasspath6}"
741 >             source="5"
742 >             executable="${javadoc7}">
743 >      <arg value="-XDignore.symbol.file=true"/>
744  
745 +    </javadoc>
746    </target>
747  
748  
# Line 770 | Line 751
751            description="Puts all distributable products in single hierarchy"/>
752  
753  
773
754    <target name="jsr166xclean"
755            description="Removes all jsr166x build products">
756  
# Line 779 | Line 759
759    </target>
760  
761  
782
762    <target name="jsr166xdist-clean"
763            description="Removes all build and distribution products">
764  
# Line 787 | Line 766
766  
767  
768    <target name="jsr166xdist-jar"
769 <          depends="jsr166xclean, jsr166xjar">
769 >          depends="jsr166xclean, jsr166x-jar">
770  
771      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
772  
# Line 816 | Line 795
795             fork="true">
796  
797        <include name="jsr166y/**/*.java"/>
819      <compilerarg line="${build.args}"/>
798        <compilerarg value="-XDignore.symbol.file=true"/>
799        <compilerarg value="-Xlint:all"/>
800 +      <compilerarg line="${build.args}"/>
801 +
802      </javac>
803    </target>
804  
805  
806 <  <target name="jsr166yjar"
806 >  <target name="jsr166y-jar"
807            depends="jsr166ycompile"
808            description="Builds library jar from compiled sources">
809  
# Line 834 | Line 814
814    </target>
815  
816  
837
817    <target name="jsr166ydocs"
818            description="Builds javadocs to dist dir">
819  
# Line 844 | Line 823
823      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
824               packagenames="jsr166y.*"
825               link="${jdkapidocs.url}"
847             source="6"
848             bootclasspath="${bootclasspath6}"
826               sourcepath="${topsrc.dir}:${jdk6src.dir}"
827 <             executable="${javadoc7}"
828 <             additionalparam="-XDignore.symbol.file=true"/>
827 >             bootclasspath="${bootclasspath6}"
828 >             source="6"
829 >             executable="${javadoc7}">
830 >      <arg value="-XDignore.symbol.file=true"/>
831  
832 +    </javadoc>
833    </target>
834  
835  
# Line 858 | Line 838
838            description="Puts all distributable products in single hierarchy"/>
839  
840  
861
841    <target name="jsr166yclean"
842            description="Removes all jsr166y build products">
843  
# Line 867 | Line 846
846    </target>
847  
848  
870
849    <target name="jsr166ydist-clean"
850            description="Removes all build and distribution products">
851  
852    </target>
853  
854    <target name="jsr166ydist-jar"
855 <          depends="jsr166yclean, jsr166yjar">
855 >          depends="jsr166yclean, jsr166y-jar">
856  
857      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
858  
# Line 885 | Line 863
863  
864  
865    <target name="extra166ycompile"
866 <          depends="configure-compiler, jsr166yjar"
866 >          depends="configure-compiler, jsr166y-jar"
867            description="Compiles extra166y sources">
868  
869      <mkdir dir="${build.extra166y.classes.dir}"/>
# Line 895 | Line 873
873             debug="${build.debug}"
874             debuglevel="${build.debuglevel}"
875             deprecation="${build.deprecation}"
876 +           bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
877             classpath=""
878             source="6"
900           bootclasspath="${jsr166y.jar}:${bootclasspath6}"
879             includeAntRuntime="false"
880             includeJavaRuntime="false"
881             executable="${javac7}"
882             fork="true">
883  
884        <include name="extra166y/**/*.java"/>
907      <compilerarg line="${build.args}"/>
885        <compilerarg value="-XDignore.symbol.file=true"/>
886        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
887 +      <compilerarg line="${build.args}"/>
888  
889      </javac>
912
890    </target>
891  
892  
893 <
917 <  <target name="extra166yjar"
893 >  <target name="extra166y-jar"
894            depends="extra166ycompile"
895            description="Builds library jar from compiled sources">
896  
# Line 925 | Line 901
901    </target>
902  
903  
928
904    <target name="extra166ydocs"
905            description="Builds javadocs to build dir">
906  
# Line 935 | Line 910
910      <javadoc destdir="${dist.extra166yjavadocs.dir}"
911               packagenames="extra166y.*"
912               link="${jdkapidocs.url}"
938             source="6"
939             bootclasspath="${bootclasspath6}"
913               sourcepath="${topsrc.dir}:${jdk6src.dir}"
914 <             executable="${javadoc7}"
915 <             additionalparam="-XDignore.symbol.file=true"/>
914 >             bootclasspath="${bootclasspath6}"
915 >             source="6"
916 >             executable="${javadoc7}">
917 >      <arg value="-XDignore.symbol.file=true"/>
918  
919 +    </javadoc>
920    </target>
921  
922  
# Line 949 | Line 925
925            description="Puts all distributable products in single hierarchy"/>
926  
927  
952
928    <target name="extra166yclean"
929            description="Removes all extra166y build products">
930  
# Line 958 | Line 933
933    </target>
934  
935  
961
936    <target name="extra166ydist-clean"
937            description="Removes all build and distribution products">
938  
939    </target>
940  
941    <target name="extra166ydist-jar"
942 <          depends="extra166yclean, extra166yjar">
942 >          depends="extra166yclean, extra166y-jar">
943  
944      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
945  
# Line 992 | Line 966
966             fork="true">
967  
968        <include name="jsr166e/**/*.java"/>
995      <compilerarg line="${build.args}"/>
969        <compilerarg value="-XDignore.symbol.file=true"/>
970        <compilerarg value="-Xlint:all"/>
971 +      <compilerarg line="${build.args}"/>
972  
973      </javac>
1000
974    </target>
975  
976  
977 <
1005 <  <target name="jsr166ejar"
977 >  <target name="jsr166e-jar"
978            depends="jsr166ecompile"
979            description="Builds library jar from compiled sources">
980  
# Line 1013 | Line 985
985    </target>
986  
987  
1016
988    <target name="jsr166edocs"
989            description="Builds javadocs to build dir">
990  
# Line 1023 | Line 994
994      <javadoc destdir="${dist.jsr166ejavadocs.dir}"
995               packagenames="jsr166e.*"
996               link="${jdkapidocs.url}"
1026             source="7"
997               sourcepath="${topsrc.dir}:${jdk7src.dir}"
998 <             executable="${javadoc7}"
999 <             additionalparam="-XDignore.symbol.file=true" >
1000 <    </javadoc>
998 >             source="7"
999 >             executable="${javadoc7}">
1000 >      <arg value="-XDignore.symbol.file=true"/>
1001  
1002 +    </javadoc>
1003    </target>
1004  
1005  
# Line 1037 | Line 1008
1008            description="Puts all distributable products in single hierarchy"/>
1009  
1010  
1040
1011    <target name="jsr166eclean"
1012            description="Removes all jsr166e build products">
1013  
# Line 1052 | Line 1022
1022    </target>
1023  
1024    <target name="jsr166edist-jar"
1025 <          depends="jsr166eclean, jsr166ejar">
1025 >          depends="jsr166eclean, jsr166e-jar">
1026  
1027      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1028  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines