/[cvs]/jsr166/build.xml
ViewVC logotype

Diff of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.91 by jsr166, Sun Nov 18 06:21:11 2012 UTC revision 1.98 by jsr166, Wed Jan 16 07:39:51 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.
20  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
21    </description>    </description>
22    
# Line 34  Line 43 
43    <property name="build.lib.dir"               location="${build.dir}/lib"/>    <property name="build.lib.dir"               location="${build.dir}/lib"/>
44    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
45    <property name="build.reports.dir"           location="${build.dir}/reports"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
46    
47      <property name="build.jdk7.dir"              location="${build.dir}/jdk7"/>
48      <property name="build.jdk7.lib.dir"          location="${build.jdk7.dir}"/>
49      <property name="build.jdk7.classes.dir"      location="${build.jdk7.dir}/classes"/>
50      <property name="build.jdk7.tck.classes.dir"  location="${build.jdk7.dir}/tck/classes"/>
51      <property name="build.jdk7.docs.dir"         location="${build.jdk7.dir}/docs"/>
52    
53    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
54    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
55    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
# Line 50  Line 66 
66    <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>    <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
67    <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>    <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
68    
69      <!-- JDK binary locations -->
70      <property name="jdks.home"  location="${user.home}/jdk"/>
71    
72      <macrodef name="defjdklocations">
73        <attribute name="v"/>
74        <sequential>
75        <property name="jdk@{v}.home"  location="${jdks.home}/jdk@{v}"/>
76        <property name="java@{v}"      location="${jdk@{v}.home}/bin/java"/>
77        <property name="javac@{v}"     location="${jdk@{v}.home}/bin/javac"/>
78        <property name="javadoc@{v}"   location="${jdk@{v}.home}/bin/javadoc"/>
79        <property name="bootdir@{v}"   location="${jdk@{v}.home}/jre/lib"/>
80        <property name="bootclasspath@{v}"
81         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
82        </sequential>
83      </macrodef>
84    
85      <defjdklocations v="6"/>
86      <defjdklocations v="7"/>
87      <defjdklocations v="8"/>
88    
89      <macrodef name="run-tck-tests">
90        <attribute name="jvm"/>
91        <attribute name="tck.classes"/>
92        <attribute name="product.jar" default="${product.jar}"/>
93        <attribute name="jvmflags" default=""/>
94        <sequential>
95        <java classname="JSR166TestCase"
96              jvm="@{jvm}" fork="true">
97            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
98            <jvmarg line="@{jvmflags}"/>
99            <classpath>
100              <pathelement location="${junit.jar}"/>
101              <pathelement location="@{tck.classes}"/>
102            </classpath>
103        </java>
104        </sequential>
105      </macrodef>
106    
107    <!-- Source locations -->    <!-- Source locations -->
108    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
109    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 59  Line 113 
113    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
114    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
115    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
116    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="jdk7src.dir"          location="${topsrc.dir}/jdk7"/>
117    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
118    <property name="jsr166esrc.dir"       location="${basedir}/src/jsr166e"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
119    <property name="extra166ysrc.dir"     location="${basedir}/src/extra166y"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
120      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
121    <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>    <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
122    
123    <!-- Distribution locations -->    <!-- Distribution locations -->
124    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
125      <property name="dist.jdk7.docs.dir"          location="${dist.dir}/jsr166-jdk7docs"/>
126    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
127    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
128    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
# Line 74  Line 130 
130    
131    <!-- Jar locations -->    <!-- Jar locations -->
132    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
133      <property name="jdk7product.jar"      location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/>
134    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
135    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
136    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
# Line 176  Line 233 
233               sourcepath="${src.dir}:${jdksrc.dir}"               sourcepath="${src.dir}:${jdksrc.dir}"
234               additionalparam="-XDignore.symbol.file=true" >               additionalparam="-XDignore.symbol.file=true" >
235        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
236        <include name="**/*.java"/>          <include name="**/*.java"/>
237        </fileset>        </fileset>
238      </javadoc>      </javadoc>
239    
# Line 245  Line 302 
302               sourcepath="${src.dir}:${jdksrc.dir}"               sourcepath="${src.dir}:${jdksrc.dir}"
303               additionalparam="-XDignore.symbol.file=true" >               additionalparam="-XDignore.symbol.file=true" >
304        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
305        <include name="**/*.java"/>          <include name="**/*.java"/>
306        </fileset>        </fileset>
307      </javadoc>      </javadoc>
308    
# Line 476  Line 533 
533    </target>    </target>
534    
535    
536      <!-- jdk7 -->
537    
538    
539      <target name="jdk7compile"
540              depends="configure-compiler"
541              description="Compiles src/jdk7 sources">
542    
543        <mkdir dir="${build.jdk7.classes.dir}"/>
544    
545        <javac srcdir="${jdk7src.dir}"
546               destdir="${build.jdk7.classes.dir}"
547               debug="${build.debug}"
548               debuglevel="${build.debuglevel}"
549               deprecation="${build.deprecation}"
550               source="1.6"
551               classpath=""
552               bootclasspath="${bootclasspath6}"
553               includeAntRuntime="false"
554               includeJavaRuntime="false"
555               executable="${javac7}"
556               fork="true">
557    
558          <include name="**/*.java"/>
559          <compilerarg line="${build.args}"/>
560          <compilerarg value="-XDignore.symbol.file=true"/>
561          <compilerarg value="-Xlint:all"/>
562    
563        </javac>
564    
565        <mkdir dir="${build.jdk7.lib.dir}"/>
566    
567        <jar destfile="${jdk7product.jar}" index="true">
568          <fileset dir="${build.jdk7.classes.dir}"/>
569        </jar>
570    
571        <mkdir dir="${build.jdk7.tck.classes.dir}"/>
572    
573        <javac srcdir="${tck.src.dir}"
574               destdir="${build.jdk7.tck.classes.dir}"
575               debug="${build.debug}"
576               debuglevel="${build.debuglevel}"
577               deprecation="${build.deprecation}"
578               source="1.6"
579               classpath="${junit.jar}"
580               bootclasspath="${jdk7product.jar}:${bootclasspath6}"
581               includeAntRuntime="false"
582               includeJavaRuntime="false"
583               executable="${javac7}"
584               fork="true">
585    
586          <include name="**/*.java"/>
587          <compilerarg line="${build.args}"/>
588          <compilerarg value="-XDignore.symbol.file=true"/>
589          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
590    
591        </javac>
592    
593      </target>
594    
595    
596      <target name="run-jdk7-tck-tests"
597              depends="jdk7compile"
598              description="Runs tck tests for jsr166-jdk7 directly">
599        <run-tck-tests
600          jvm="${java7}"
601          tck.classes="${build.jdk7.tck.classes.dir}"
602          product.jar="${jdk7product.jar}"/>
603      </target>
604    
605    
606      <target name="run-jdk7-tck-tests-via-junit-task"
607              depends="jdk7compile">
608    
609        <junit printsummary="true"
610               showoutput="true"
611               errorProperty="junit.failed"
612               failureProperty="junit.failed"
613               includeantruntime="true"
614               jvm="${java7}"
615               fork="true">
616    
617          <jvmarg value="-Xbootclasspath/p:${jdk7product.jar}"/>
618          <jvmarg value="-server"/>
619    
620          <classpath>
621            <pathelement location="${junit.jar}"/>
622            <pathelement location="${build.jdk7.tck.classes.dir}"/>
623          </classpath>
624    
625          <formatter type="brief"/>
626    
627          <test name="JSR166TestCase" haltonfailure="no">
628          </test>
629    
630        </junit>
631      </target>
632    
633    
634      <target name="jdk7docs"
635              description="Builds javadocs with custom tags to build folder">
636    
637        <delete dir="${build.jdk7.docs.dir}"/>
638        <mkdir dir="${build.jdk7.docs.dir}"/>
639    
640        <javadoc destdir="${build.jdk7.docs.dir}"
641                 packagenames="none"
642                 link="${jdkapi7docs.url}"
643                 overview="${jdk7src.dir}/intro.html"
644                 sourcepath="${jdk7src.dir}"
645                 bootclasspath="${bootclasspath6}"
646                 classpath=""
647                 source="1.6"
648                 executable="${javadoc7}"
649                 additionalparam="-XDignore.symbol.file=true" >
650          <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
651            <include name="**/*.java"/>
652          </fileset>
653        </javadoc>
654    
655      </target>
656    
657    
658      <target name="jdk7dist"
659              depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"
660              description="Puts all distributable products in single hierarchy"/>
661    
662    
663    
664      <target name="jdk7clean"
665              description="Removes all build products">
666    
667        <delete dir="${build.jdk7.dir}"/>
668    
669      </target>
670    
671    
672    
673      <target name="jdk7dist-clean"
674              description="Removes all build and distribution products">
675    
676      </target>
677    
678      <target name="jdk7dist-docs"
679              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">
703    
704        <copy file="${jdk7product.jar}" todir="${dist.dir}"/>
705    
706      </target>
707    
708    <!-- jsr166x -->    <!-- jsr166x -->
709    
710    
# Line 788  Line 1017 
1017    
1018    <!-- jsr166e -->    <!-- jsr166e -->
1019    
   
1020    <target name="jsr166ecompile"    <target name="jsr166ecompile"
1021            depends="init, configure-compiler"            depends="configure-compiler"
1022            description="Compiles jsr166e sources">            description="Compiles jsr166e sources">
1023    
1024      <mkdir dir="${build.jsr166e.dir}"/>      <mkdir dir="${build.jsr166e.dir}"/>
1025    
1026      <javac srcdir="${jsr166esrc.dir}"      <javac srcdir="${topsrc.dir}"
1027            destdir="${build.jsr166e.dir}"             destdir="${build.jsr166e.dir}"
1028              debug="${build.debug}"             debug="${build.debug}"
1029         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1030        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1031             source="1.7"             source="1.7"
1032               fork="true">             classpath=""
1033               includeAntRuntime="false"
1034               includeJavaRuntime="false"
1035               executable="${javac7}"
1036               fork="true">
1037    
1038        <include name="**/*.java"/>        <include name="jsr166e/**/*.java"/>
1039        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1040        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1041        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="-Xlint:all"/>
   
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
1042    
1043      </javac>      </javac>
1044    
# Line 838  Line 1068 
1068    
1069      <javadoc destdir="${build.jsr166ejavadocs.dir}"      <javadoc destdir="${build.jsr166ejavadocs.dir}"
1070               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e,jsr166e.extra"
1071               link="${jdkapidocs.url}"               link="${jdkapi7docs.url}"
1072               source="1.7"               source="1.7"
1073               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk7src.dir}:${jdksrc.dir}"
1074               additionalparam="-XDignore.symbol.file=true" />               executable="${javadoc7}"
1075                 additionalparam="-XDignore.symbol.file=true" >
1076          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1077            <include name="jsr166e/**/*.java"/>
1078          </fileset>
1079        </javadoc>
1080    
1081    </target>    </target>
1082    

Legend:
Removed from v.1.91  
changed lines
  Added in v.1.98

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