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.63 by tim, Sat Dec 13 20:45:41 2003 UTC vs.
Revision 1.71 by peierls, Thu Dec 30 21:43:34 2004 UTC

# Line 30 | Line 30
30    <property name="build.dir"            location="build"/>
31    <property name="build.classes.dir"    location="${build.dir}/classes"/>
32    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>
33 +  <property name="build.j1.dir"         location="${build.dir}/j1"/>
34 +  <property name="build.loops.dir"      location="${build.dir}/loops"/>
35    <property name="build.lib.dir"        location="${build.dir}/lib"/>
36    <property name="build.ant.dir"        location="${build.dir}/ant"/>
37    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>
# Line 38 | Line 40
40    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>
41    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>
42    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>
43 +  <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>
44 +  <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
45 +  <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
46  
47    <!-- Source locations -->
48    <property name="src.dir"              location="${basedir}/src/main"/>
49    <property name="test.src.dir"         location="${basedir}/src/test"/>
50 +  <property name="j1.src.dir"           location="${basedir}/src/javaone"/>
51 +  <property name="loops.src.dir"        location="${basedir}/src/loops"/>
52    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
53    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
54    <property name="ant.src.dir"          location="${basedir}/etc/ant"/>
55    <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>
56    <property name="lib.dir"              location="${basedir}/lib"/>
57    <property name="dist.dir"             location="${basedir}/dist"/>
58 +  <property name="topsrc.dir"           location="${basedir}/src"/>
59 +  <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>
60  
61    <!-- Distribution locations -->
62    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>
63 +  <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
64  
65    <!-- Jar locations -->
66    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
67 +  <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
68    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>
69 <  
69 >  <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>
70 >
71    <!-- Bootclasspath argument -->
72    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
73  
# Line 65 | Line 77
77      <pathelement location="${junit.jar}"/>
78    </path>
79  
80 +  <!-- ALoops classpath -->
81 +  <path id="loops.classpath">
82 +    <pathelement location="${build.loops.dir}"/>
83 +  </path>
84 +
85 +  <!-- J1 classpath -->
86 +  <path id="j1.classpath">
87 +    <pathelement location="${build.classes.dir}"/>
88 +    <pathelement location="${build.j1.dir}"/>
89 +    <pathelement location="${junit.jar}"/>
90 +
91 +    <!-- Include dl.u.c for BoundedBuffer comparison -->
92 +    <pathelement location="${concurrent.jar}"/>
93 +  </path>
94 +
95  
96    <!-- Main targets -->
97  
# Line 83 | Line 110
110             source="${build.sourcelevel}"
111               fork="true">
112  
113 +      <include name="**/*.java"/>
114 +      <exclude name="java/lang/**"/>
115        <compilerarg line="${build.args}"/>
116  
117      </javac>
# Line 160 | Line 189
189              classpath="${lib.dir}/checkstyle-all-3.1.jar"/>
190  
191      <mkdir dir="${build.checkstyle.dir}"/>
192 <    
192 >
193      <checkstyle config="etc/checkstyle/sun_checks.xml"
194         failOnViolation="false">
195 <      <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>
195 >      <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>
196        <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>
197      </checkstyle>
198 <    
199 <    <style in="${build.checkstyle.dir}/checkstyle-report.xml"
200 <          out="${build.checkstyle.dir}/checkstyle-report.html"
198 >
199 >    <style in="${build.checkstyle.dir}/checkstyle-report.xml"
200 >          out="${build.checkstyle.dir}/checkstyle-report.html"
201          style="${stylesheet.dir}/checkstyle-frames.xsl"/>
202  
203    </target>
204  
205 <  
205 >
206  
207    <target name="dist"
208            depends="init, dist-clean, dist-jar, dist-docs"
# Line 251 | Line 280
280      <echo>java.home is ${java.home}</echo>
281  
282    </target>
283 <  
284 <  
283 >
284 >
285    <target name="dist-jar"
286            depends="clean, jar">
287  
# Line 268 | Line 297
297  
298      <javac srcdir="${ant.src.dir}"
299            destdir="${build.ant.dir}"
300 <           source="1.4"
272 <    />
300 >           source="1.4"/>
301  
302    </target>
303  
# Line 388 | Line 416
416  
417        <compilerarg value="${bootclasspath.args}"/>
418        <compilerarg line="${build.args}"/>
419 <      
419 >
420        <classpath refid="test.classpath"/>
421  
422      </javac>
# Line 402 | Line 430
430               fork="true">
431  
432        <include name="jsr166/test/**"/>
433 <      
433 >
434        <compilerarg value="${bootclasspath.args}"/>
435        <compilerarg line="${build.args}"/>
436 <      
436 >
437        <classpath refid="test.classpath"/>
438  
439      </javac>
# Line 421 | Line 449
449  
450        <compilerarg value="${bootclasspath.args}"/>
451        <compilerarg line="${build.args}"/>
452 <      
452 >
453        <classpath refid="test.classpath"/>
454  
455      </javac>
# Line 446 | Line 474
474                     fork="true">
475  
476        <jvmarg value="${bootclasspath.args}"/>
477 <      
477 >      <jvmarg value="-server"/>
478 >      <jvmarg value="-showversion"/>
479 >
480        <classpath refid="test.classpath"/>
481  
482        <formatter type="xml"/>
# Line 456 | Line 486
486            <include name="**/${testcase}Test.java"/>
487          </fileset>
488        </batchtest>
489 <      
489 >
490        <batchtest todir="${build.reports.dir}" if="do.test.old">
491          <fileset dir="${test.src.dir}">
492            <include name="jsr166/test/**/${testcase}Test.java"/>
493          </fileset>
494        </batchtest>
495  
496 < <!--      
496 > <!--
497        <batchtest todir="${build.reports.dir}" if="do.test.jtreg">
498          <fileset dir="${jtreg.src.dir}">
499            <include name="**/${testcase}Test.java"/>
# Line 530 | Line 560
560      <available property="xalan.available"
561                 classname="org.apache.xalan.Version"/>
562  
563 <              
563 >
564      <!-- Ant 1.6beta and later don't need or want this check -->
565 <    <!--    
565 >    <!--
566      <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"
567            unless="junit.available"/>
568  
# Line 547 | Line 577
577    <!-- Anthill targets -->
578  
579    <target name="anthill-build">
580 <  
580 >
581      <!-- Override this in user.properties -->
582      <property name="tiger.home" location="e:/j2sdk1.5.0"/>
583 <    
583 >
584      <exec resultproperty="result.property" dir="${basedir}" executable="${tiger.home}/bin/java">
585        <arg value="-Xmx256000000"/>
586        <!-- classpath of new JVM -->
# Line 566 | Line 596
596        <arg value="do-anthill-build"/>
597      </exec>
598    </target>
599 <  
599 >
600    <target name="do-anthill-build"
601            depends="jar, test, docs, dist-docs"/>
602  
# Line 590 | Line 620
620    </target>
621  
622  
623 <  <!-- Standalone sample program -->
624 <  
625 <  <target name="sample" depends="jar">
626 <  
623 >
624 >  <!-- Various demos and test programs -->
625 >
626 >
627 >  <target name="sample" depends="init, configure-compiler"
628 >          description="Standalone demo program">
629 >
630      <mkdir dir="${build.testcases.dir}"/>
631 <    
631 >
632      <javac srcdir="${test.src.dir}"
633            destdir="${build.testcases.dir}"
634              debug="${build.debug}"
# Line 603 | Line 636
636        deprecation="${build.deprecation}"
637             source="${build.sourcelevel}"
638               fork="true">
639 <            
607 <      <compilerarg value="${bootclasspath.args}"/>
608 <      <compilerarg line="${build.args}"/>
609 <      
610 <      <classpath refid="test.classpath"/>
611 <      
639 >
640        <include name="jsr166/test/Sample.java"/>
641 <      
641 >
642      </javac>
643 <    
644 <            
643 >
644 >    <copy todir="${build.testcases.dir}">
645 >      <fileset dir="${test.src.dir}">
646 >        <include name="**/*.properties"/>
647 >      </fileset>
648 >    </copy>
649 >
650 >
651      <java classname="jsr166.test.Sample" fork="true">
618      <jvmarg value="${bootclasspath.args}"/>
652        <classpath refid="test.classpath"/>
653 +      <!-- <jvmarg value="-ea"/> -->
654 +      <!-- <jvmarg value="-server"/> -->
655 +      <!-- <arg value="1000"/> -->
656 +    </java>
657 +  </target>
658 +
659 +
660 +  <target name="loops" depends="init, configure-compiler"
661 +          description="Benchmark from Doug Lea's AQS paper">
662 +
663 +    <mkdir dir="${build.loops.dir}"/>
664 +
665 +    <javac srcdir="${loops.src.dir}"
666 +          destdir="${build.loops.dir}"
667 +            debug="${build.debug}"
668 +       debuglevel="${build.debuglevel}"
669 +      deprecation="${build.deprecation}"
670 +           source="${build.sourcelevel}"
671 +             fork="true">
672 +
673 +      <compilerarg line="${build.args}"/>
674 +      <classpath refid="loops.classpath"/>
675 +
676 +    </javac>
677 +
678 +    <java classname="ALoops" fork="true">
679 +      <classpath refid="loops.classpath"/>
680      </java>
681 +
682    </target>
683  
684 <  
685 <  
684 >
685 >  <target name="compile-j1" depends="init, configure-compiler, compile">
686 >
687 >    <mkdir dir="${build.j1.dir}"/>
688 >
689 >    <javac srcdir="${j1.src.dir}"
690 >          destdir="${build.j1.dir}"
691 >            debug="${build.debug}"
692 >       debuglevel="${build.debuglevel}"
693 >      deprecation="${build.deprecation}"
694 >           source="${build.sourcelevel}" >
695 >
696 >      <include name="**/*.java"/>
697 >      <exclude name="**/dijkstra/**"/>
698 >
699 >      <compilerarg line="${build.args}"/>
700 >      <classpath refid="j1.classpath"/>
701 >
702 >    </javac>
703 >
704 >  </target>
705 >
706 >
707 >  <target name="sw" depends="compile-j1"
708 >          description="Runs the SwingWorker demo">
709 >
710 >    <!--
711 >    <java classname="jsr166.swing.SwingWorkerDemo" fork="true">
712 >      <classpath refid="j1.classpath"/>
713 >    </java>
714 >    -->
715 >
716 >    <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>
717 >
718 >    <exec dir="${build.j1.dir}" executable="appletviewer.exe">
719 >      <arg value="${build.j1.dir}/SwingWorker.html"/>
720 >    </exec>
721 >
722 >  </target>
723 >
724 >  <target name="j1" depends="compile-j1"
725 >          description="Runs a standalone JavaOne program">
726 >
727 >    <java classname="${j1.test}" fork="true">
728 >      <classpath refid="j1.classpath"/>
729 >      <jvmarg value="-client"/>
730 >
731 >      <!-- TestPseudoRandom args -->
732 >      <arg value="2"/>
733 >      <arg value="25"/>
734 >      <arg value="100000"/>
735 >
736 >      <!-- WebCrawler args -->
737 >      <!--
738 >      <arg value="jsr166.webcrawler.WebCrawler3"/>
739 >      <arg value="http://www.priorartisans.com"/>
740 >      <arg value="25"/>
741 >      -->
742 >
743 >    </java>
744 >
745 >  </target>
746 >
747 >
748 >  <target name="test-j1" depends="compile-j1"
749 >          description="Runs testcases from the JavaOne source directories">
750 >
751 >    <junit printsummary="true"
752 >             showoutput="true"
753 >          errorProperty="junit.failed"
754 >        failureProperty="junit.failed"
755 >                    dir="${build.j1.dir}"
756 >                   fork="true">
757 >
758 >      <!-- <jvmarg value="-server"/> -->
759 >      <classpath refid="j1.classpath"/>
760 >      <formatter type="xml"/>
761 >
762 >      <batchtest todir="${build.j1.dir}">
763 >        <fileset dir="${j1.src.dir}">
764 >          <include name="**/*Test.java"/>
765 >        </fileset>
766 >      </batchtest>
767 >
768 >    </junit>
769 >
770 >    <available property="junit.report.format"
771 >                  value="frames"
772 >              classname="org.apache.xalan.lib.Redirect"/>
773 >    <property name="junit.report.format" value="noframes"/>
774 >
775 >    <junitreport todir="${build.j1.dir}">
776 >      <fileset dir="${build.j1.dir}">
777 >        <include name="TEST-*.xml"/>
778 >      </fileset>
779 >      <report styledir="${stylesheet.dir}"
780 >                format="${junit.report.format}"
781 >                 todir="${build.j1.dir}"
782 >      />
783 >    </junitreport>
784 >
785 >    <fail message="Test Cases Failed" if="junit.failed"/>
786 >
787 >  </target>
788 >
789 >
790 >
791    <!-- C++ and JNI definitions and demos -->
792 <  
792 >
793    <target name="configure-cpp">
794  
795      <!-- Define tasks and types -->
796 <    
796 >
797      <path id="cpptasks.path">
798        <pathelement location="${lib.dir}/cpptasks.jar"/>
799      </path>
800      <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>
801      <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>
802 <    
802 >
803      <!-- Set platform property for JNI includes -->
804 <    
804 >
805      <condition property="platform" value="linux">
806        <os name="Linux"/>
807      </condition>
# Line 645 | Line 811
811      <condition property="platform" value="solaris">
812        <os name="SunOS"/>
813      </condition>
814 <    
814 >
815    </target>
816 <  
817 <  
816 >
817 >
818    <target name="cppdemo" depends="configure-cpp">
819 <  
819 >
820      <mkdir dir="${build.dir}"/>
821 <    
821 >
822      <cc multithreaded="true"
823 <                 name="g++"
823 >                 name="g++"
824                 objdir="${build.dir}"
825                outfile="${build.dir}/CppDemo">
826        <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>
827        <libset libs="stdc++"/>
828      </cc>
829 <    
829 >
830      <exec executable="${build.dir}/CppDemo">
831        <arg line="count in word frequency of word in command line count"/>
832      </exec>
833 <    
833 >
834    </target>
835 <  
836 <  
835 >
836 >
837    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">
838 <  
838 >
839      <mkdir dir="${build.testcases.dir}"/>
840 <    
840 >
841      <javac srcdir="${test.src.dir}"
842            destdir="${build.testcases.dir}"
843              debug="${build.debug}"
# Line 684 | Line 850
850        <classpath refid="test.classpath"/>
851        <include name="JniDemo.java"/>
852      </javac>
853 <    
853 >
854      <javah destdir="${build.testcases.dir}"
855        classpathref="test.classpath">
856        <class name="JniDemo"/>
857      </javah>
858 <    
858 >
859      <cc multithreaded="true"
860 <                 name="g++"
860 >                 name="g++"
861                 objdir="${build.dir}"
862                outfile="${build.dir}/JniDemo"
863                outtype="shared">
864 <              
864 >
865        <compiler>
866          <defineset>
867            <define name="__int64" value="long long"/>
# Line 704 | Line 870
870          <includepath location="${java.home}/../include/${platform}"/>
871          <compilerarg value="-mno-cygwin"/>
872        </compiler>
873 <      
873 >
874        <linker>
875          <linkerarg value="--add-stdcall-alias"/>
876        </linker>
877 <      
877 >
878        <includepath location="${build.testcases.dir}"/>
879 <      
879 >
880        <fileset dir="${test.src.dir}" includes="JniDemo.cpp"/>
881 <      
881 >
882        <libset libs="stdc++"/>
883 <      
883 >
884      </cc>
885 <    
885 >
886      <!-- Necessary if windows, harmless if not -->
887      <copy file="${build.dir}/libJniDemo.so" tofile="${build.dir}/JniDemo.dll"/>
888 <    
888 >
889      <java classname="JniDemo" fork="true">
890        <!-- Watch out: path separator hardwired to semicolon here! -->
891        <sysproperty key="java.library.path" path="${java.library.path};${build.dir}"/>
892        <classpath refid="test.classpath"/>
893 +      <arg line="count in word frequency of word in command line count"/>
894      </java>
895 <    
895 >
896    </target>
897  
898  
# Line 738 | Line 905
905    <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>
906    <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>
907    <property name="pretiger.sourcelevel" value="1.4"/>
908 <  
909 <  <target name="defang"
908 >
909 >  <target name="defang"
910         depends="init"
911     description="Generates pre-Tiger compatible source">
912 <  
912 >
913      <delete dir="${pretiger.src.dir}"/>
914      <mkdir dir="${pretiger.src.dir}"/>
915 <  
915 >
916      <exec executable="perl">
917        <arg file="etc/defang.pl"/>
918        <!-- <arg value="-v"/> -->
919        <arg value="-s"/> <arg file="${src.dir}"/>
920        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>
921      </exec>
922 <    
922 >
923    </target>
924  
925    <target name="compile-pretiger"
# Line 775 | Line 942
942      </javac>
943  
944    </target>
945 <  
945 >
946    <target name="pretiger" depends="compile-pretiger">
947  
948      <mkdir dir="${build.lib.dir}"/>
949 <    
949 >
950      <jar destfile="${pretiger.jar}">
951        <fileset dir="${build.pretiger.dir}">
952        </fileset>
953      </jar>
954 <    
954 >
955 >  </target>
956 >
957 >  <!-- jsr166x -->
958 >
959 >
960 >  <target name="jsr166xcompile"
961 >          depends="init, configure-compiler"
962 >          description="Compiles jsr166x sources">
963 >
964 >    <mkdir dir="${build.jsr166x.dir}"/>
965 >
966 >    <javac srcdir="${jsr166xsrc.dir}"
967 >          destdir="${build.jsr166x.dir}"
968 >            debug="${build.debug}"
969 >       debuglevel="${build.debuglevel}"
970 >      deprecation="${build.deprecation}"
971 >           source="${build.sourcelevel}"
972 >             fork="true">
973 >
974 >      <include name="**/*.java"/>
975 >      <compilerarg line="${build.args}"/>
976 >
977 >    </javac>
978 >
979 >  </target>
980 >
981 >
982 >
983 >  <target name="jsr166xjar"
984 >          depends="jsr166xcompile"
985 >          description="Builds library jar from compiled sources">
986 >
987 >    <mkdir dir="${build.jsr166xlib.dir}"/>
988 >
989 >    <jar destfile="${jsr166xproduct.jar}">
990 >      <fileset dir="${build.jsr166x.dir}"/>
991 >    </jar>
992 >
993 >  </target>
994 >
995 >
996 >
997 >  <target name="jsr166xdocs"
998 >          description="Builds javadocs with custom tags to build folder">
999 >
1000 >    <delete dir="${build.jsr166xjavadocs.dir}"/>
1001 >    <mkdir dir="${build.jsr166xjavadocs.dir}"/>
1002 >
1003 >    <javadoc destdir="${build.jsr166xjavadocs.dir}"
1004 >                link="http://java.sun.com/j2se/1.5.0/docs/api/"
1005 >    >
1006 >      <packageset dir="${topsrc.dir}" defaultexcludes="yes">
1007 >      <include name="jsr166x"/>
1008 >      </packageset>
1009 >
1010 >
1011 >    </javadoc>
1012 >
1013 >  </target>
1014 >
1015 >
1016 >  <target name="jsr166xdist"
1017 >          depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
1018 >          description="Puts all distributable products in single hierarchy"/>
1019 >
1020 >
1021 >
1022 >  <target name="jsr166xclean"
1023 >          description="Removes all build products">
1024 >
1025 >    <delete dir="${build.jsr166x.dir}"/>
1026 >    <delete dir="${build.jsr166xlib.dir}"/>
1027 >
1028 >  </target>
1029 >
1030 >
1031 >
1032 >  <target name="jsr166xdist-clean"
1033 >          description="Removes all build and distribution products">
1034 >
1035 >  </target>
1036 >
1037 >
1038 >
1039 >  <target name="jsr166xdist-docs"
1040 >          description="Builds javadocs without custom tags to dist folder">
1041 >
1042 >    <delete dir="${dist.jsr166xjavadocs.dir}"/>
1043 >    <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
1044 >
1045 >    <javadoc destdir="${dist.jsr166xjavadocs.dir}"
1046 >                link="http://java.sun.com/j2se/1.5.0/docs/api/"
1047 >              source="${build.sourcelevel}">
1048 >
1049 >      <packageset dir="${topsrc.dir}" defaultexcludes="yes">
1050 >      <include name="jsr166x"/>
1051 >      </packageset>
1052 >
1053 >    </javadoc>
1054 >
1055 >  </target>
1056 >
1057 >  <target name="jsr166xdist-jar"
1058 >          depends="jsr166xclean, jsr166xjar">
1059 >
1060 >    <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
1061 >
1062    </target>
1063  
1064   </project>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines