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

Diff of /jsr166/build.xml

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

revision 1.90 by dl, Fri Jul 15 13:21:07 2011 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 73  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 82  Line 140 
140    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
141    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
142    
143      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
144      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
145      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
146      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
147    
148      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
149      <!-- The below does not yet exist as of 2012-11 -->
150      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
151      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
152    
153    <!-- Test classpath -->    <!-- Test classpath -->
154    <path id="test.classpath">    <path id="test.classpath">
155      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 160  Line 228 
228    
229      <javadoc destdir="${build.javadocs.dir}"      <javadoc destdir="${build.javadocs.dir}"
230               packagenames="none"               packagenames="none"
231               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
232               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
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 229  Line 297 
297    
298      <javadoc destdir="${dist.javadocs.dir}"      <javadoc destdir="${dist.javadocs.dir}"
299               packagenames="none"               packagenames="none"
300               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
301               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
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 465  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 514  Line 754 
754    
755      <javadoc destdir="${build.jsr166xjavadocs.dir}"      <javadoc destdir="${build.jsr166xjavadocs.dir}"
756               packagenames="jsr166x"               packagenames="jsr166x"
757               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
758               source="${build.sourcelevel}"               source="${build.sourcelevel}"
759               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
760               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />
# Line 553  Line 793 
793    
794      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
795               packagenames="jsr166x"               packagenames="jsr166x"
796               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
797               source="${build.sourcelevel}"               source="${build.sourcelevel}"
798               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
799               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />
# Line 619  Line 859 
859    
860      <javadoc destdir="${build.jsr166yjavadocs.dir}"      <javadoc destdir="${build.jsr166yjavadocs.dir}"
861               packagenames="jsr166y"               packagenames="jsr166y"
862               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
863               source="${build.sourcelevel}"               source="${build.sourcelevel}"
864               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
865               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />
# Line 656  Line 896 
896    
897      <javadoc destdir="${dist.jsr166yjavadocs.dir}"      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
898               packagenames="jsr166y"               packagenames="jsr166y"
899               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
900               source="${build.sourcelevel}"               source="${build.sourcelevel}"
901               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
902               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />
# Line 724  Line 964 
964    
965      <javadoc destdir="${build.extra166yjavadocs.dir}"      <javadoc destdir="${build.extra166yjavadocs.dir}"
966               packagenames="extra166y"               packagenames="extra166y"
967               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
968               source="${build.sourcelevel}"               source="${build.sourcelevel}"
969               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
970               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />
# Line 761  Line 1001 
1001    
1002      <javadoc destdir="${dist.extra166yjavadocs.dir}"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
1003               packagenames="extra166y"               packagenames="extra166y"
1004               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
1005               source="${build.sourcelevel}"               source="${build.sourcelevel}"
1006               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
1007               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />
# Line 777  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 827  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="http://download.oracle.com/javase/7/docs/api/"               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    
# Line 864  Line 1110 
1110    
1111      <javadoc destdir="${dist.jsr166ejavadocs.dir}"      <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1112               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e,jsr166e.extra"
1113               link="http://download.oracle.com/javase/7/docs/api/"               link="${jdkapidocs.url}"
1114               source="1.7"               source="1.7"
1115               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdksrc.dir}"
1116               additionalparam="-XDignore.symbol.file=true" />               additionalparam="-XDignore.symbol.file=true" />

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

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