/[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.99 by jsr166, Sat Jan 19 01:37:44 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, 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>    </description>
27    
# Line 34  Line 48 
48    <property name="build.lib.dir"               location="${build.dir}/lib"/>    <property name="build.lib.dir"               location="${build.dir}/lib"/>
49    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.reports.dir"           location="${build.dir}/reports"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    
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"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
60    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
# Line 50  Line 71 
71    <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>    <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
72    <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>    <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
73    
74      <!-- JDK binary locations -->
75      <property name="jdks.home"  location="${user.home}/jdk"/>
76    
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"/>
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>
89      </macrodef>
90    
91      <defjdklocations v="6"/>
92      <defjdklocations v="7"/>
93      <defjdklocations v="8"/>
94    
95      <macrodef name="run-tck-tests">
96        <attribute name="jvm"/>
97        <attribute name="tck.classes"/>
98        <attribute name="product.jar" default="${product.jar}"/>
99        <attribute name="jvmflags" default=""/>
100        <sequential>
101        <java classname="JSR166TestCase"
102              jvm="@{jvm}" fork="true">
103            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
104            <jvmarg line="@{jvmflags}"/>
105            <classpath>
106              <pathelement location="${junit.jar}"/>
107              <pathelement location="@{tck.classes}"/>
108            </classpath>
109        </java>
110        </sequential>
111      </macrodef>
112    
113    <!-- Source locations -->    <!-- Source locations -->
114    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
115    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 59  Line 119 
119    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
122    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124    <property name="jsr166esrc.dir"       location="${basedir}/src/jsr166e"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125    <property name="extra166ysrc.dir"     location="${basedir}/src/extra166y"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
126      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
127    <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"/>
128    
129    <!-- Distribution locations -->    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131      <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
# Line 74  Line 136 
136    
137    <!-- Jar locations -->    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.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"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
# Line 176  Line 239 
239               sourcepath="${src.dir}:${jdksrc.dir}"               sourcepath="${src.dir}:${jdksrc.dir}"
240               additionalparam="-XDignore.symbol.file=true" >               additionalparam="-XDignore.symbol.file=true" >
241        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
242        <include name="**/*.java"/>          <include name="**/*.java"/>
243        </fileset>        </fileset>
244      </javadoc>      </javadoc>
245    
# Line 245  Line 308 
308               sourcepath="${src.dir}:${jdksrc.dir}"               sourcepath="${src.dir}:${jdksrc.dir}"
309               additionalparam="-XDignore.symbol.file=true" >               additionalparam="-XDignore.symbol.file=true" >
310        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
311        <include name="**/*.java"/>          <include name="**/*.java"/>
312        </fileset>        </fileset>
313      </javadoc>      </javadoc>
314    
# Line 476  Line 539 
539    </target>    </target>
540    
541    
542      <!-- jsr166 4jdk7 -->
543    
544    
545      <target name="4jdk7compile"
546              depends="configure-compiler"
547              description="Compiles src/jdk7 sources, targeting jdk7">
548    
549        <mkdir dir="${build.4jdk7.classes.dir}"/>
550    
551        <javac srcdir="${4jdk7src.dir}"
552               destdir="${build.4jdk7.classes.dir}"
553               debug="${build.debug}"
554               debuglevel="${build.debuglevel}"
555               deprecation="${build.deprecation}"
556               source="1.6"
557               classpath=""
558               bootclasspath="${bootclasspath6}"
559               includeAntRuntime="false"
560               includeJavaRuntime="false"
561               executable="${javac7}"
562               fork="true">
563    
564          <include name="**/*.java"/>
565          <compilerarg line="${build.args}"/>
566          <compilerarg value="-XDignore.symbol.file=true"/>
567          <compilerarg value="-Xlint:all"/>
568    
569        </javac>
570    
571        <mkdir dir="${build.4jdk7.lib.dir}"/>
572    
573        <jar destfile="${4jdk7product.jar}" index="true">
574          <fileset dir="${build.4jdk7.classes.dir}"/>
575        </jar>
576    
577        <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
578    
579        <javac srcdir="${tck.src.dir}"
580               destdir="${build.4jdk7.tck.classes.dir}"
581               debug="${build.debug}"
582               debuglevel="${build.debuglevel}"
583               deprecation="${build.deprecation}"
584               source="1.6"
585               classpath="${junit.jar}"
586               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
587               includeAntRuntime="false"
588               includeJavaRuntime="false"
589               executable="${javac7}"
590               fork="true">
591    
592          <include name="**/*.java"/>
593          <compilerarg line="${build.args}"/>
594          <compilerarg value="-XDignore.symbol.file=true"/>
595          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
596    
597        </javac>
598    
599      </target>
600    
601    
602      <target name="4jdk7-test-tck"
603              depends="4jdk7compile"
604              description="Runs tck tests for jsr166-4jdk7 directly">
605        <run-tck-tests
606          jvm="${java7}"
607          tck.classes="${build.4jdk7.tck.classes.dir}"
608          product.jar="${4jdk7product.jar}"/>
609      </target>
610    
611    
612      <target name="4jdk7-test-tck-junit"
613              depends="4jdk7compile"
614              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
615    
616        <junit printsummary="true"
617               showoutput="true"
618               errorProperty="junit.failed"
619               failureProperty="junit.failed"
620               includeantruntime="true"
621               jvm="${java7}"
622               fork="true">
623    
624          <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
625          <jvmarg value="-server"/>
626    
627          <classpath>
628            <pathelement location="${junit.jar}"/>
629            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
630          </classpath>
631    
632          <formatter type="brief"/>
633    
634          <test name="JSR166TestCase" haltonfailure="no">
635          </test>
636    
637        </junit>
638      </target>
639    
640    
641      <target name="4jdk7docs"
642              description="Builds javadocs with custom tags to build folder">
643    
644        <delete dir="${build.4jdk7.docs.dir}"/>
645        <mkdir dir="${build.4jdk7.docs.dir}"/>
646    
647        <javadoc destdir="${build.4jdk7.docs.dir}"
648                 packagenames="none"
649                 link="${jdkapi7docs.url}"
650                 overview="${4jdk7src.dir}/intro.html"
651                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
652                 classpath=""
653                 executable="${javadoc7}">
654          <arg value="-XDignore.symbol.file=true"/>
655          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
656            <include name="**/*.java"/>
657          </fileset>
658        </javadoc>
659    
660      </target>
661    
662    
663      <target name="4jdk7dist"
664              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
665              description="Puts all distributable products in single hierarchy"/>
666    
667    
668    
669      <target name="4jdk7clean"
670              description="Removes all build products">
671    
672        <delete dir="${build.4jdk7.dir}"/>
673    
674      </target>
675    
676    
677    
678      <target name="4jdk7dist-clean"
679              description="Removes all build and distribution products">
680    
681      </target>
682    
683      <target name="4jdk7dist-docs"
684              description="Builds javadocs without custom tags to dist folder">
685    
686        <delete dir="${dist.4jdk7.docs.dir}"/>
687        <mkdir dir="${dist.4jdk7.docs.dir}"/>
688    
689        <javadoc destdir="${dist.4jdk7.docs.dir}"
690                 packagenames="none"
691                 link="${jdkapi7docs.url}"
692                 overview="${4jdk7src.dir}/intro.html"
693                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
694                 classpath=""
695                 executable="${javadoc7}">
696          <arg value="-XDignore.symbol.file=true"/>
697          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
698            <include name="**/*.java"/>
699          </fileset>
700        </javadoc>
701    
702      </target>
703    
704      <target name="4jdk7dist-jar"
705              depends="4jdk7clean, 4jdk7compile">
706    
707        <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
708    
709      </target>
710    
711    <!-- jsr166x -->    <!-- jsr166x -->
712    
713    
# Line 788  Line 1020 
1020    
1021    <!-- jsr166e -->    <!-- jsr166e -->
1022    
   
1023    <target name="jsr166ecompile"    <target name="jsr166ecompile"
1024            depends="init, configure-compiler"            depends="configure-compiler"
1025            description="Compiles jsr166e sources">            description="Compiles jsr166e sources">
1026    
1027      <mkdir dir="${build.jsr166e.dir}"/>      <mkdir dir="${build.jsr166e.dir}"/>
1028    
1029      <javac srcdir="${jsr166esrc.dir}"      <javac srcdir="${topsrc.dir}"
1030            destdir="${build.jsr166e.dir}"             destdir="${build.jsr166e.dir}"
1031              debug="${build.debug}"             debug="${build.debug}"
1032         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1033        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1034             source="1.7"             source="1.7"
1035               fork="true">             classpath=""
1036               includeAntRuntime="false"
1037               includeJavaRuntime="false"
1038               executable="${javac7}"
1039               fork="true">
1040    
1041        <include name="**/*.java"/>        <include name="jsr166e/**/*.java"/>
1042        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1043        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1044        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="-Xlint:all"/>
   
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
1045    
1046      </javac>      </javac>
1047    
# Line 838  Line 1071 
1071    
1072      <javadoc destdir="${build.jsr166ejavadocs.dir}"      <javadoc destdir="${build.jsr166ejavadocs.dir}"
1073               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e,jsr166e.extra"
1074               link="${jdkapidocs.url}"               link="${jdkapi7docs.url}"
1075               source="1.7"               source="1.7"
1076               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk7src.dir}"
1077               additionalparam="-XDignore.symbol.file=true" />               executable="${javadoc7}"
1078                 additionalparam="-XDignore.symbol.file=true" >
1079          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1080            <include name="jsr166e/**/*.java"/>
1081          </fileset>
1082        </javadoc>
1083    
1084    </target>    </target>
1085    

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

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