bloritsch 2002/12/12 09:37:51 Modified: . build.xml Log: use jakarta-site instead Revision Changes Path 1.84 +704 -704 jakarta-avalon-logkit/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/jakarta-avalon-logkit/build.xml,v retrieving revision 1.83 retrieving revision 1.84 diff -u -r1.83 -r1.84 --- build.xml 12 Dec 2002 01:51:05 -0000 1.83 +++ build.xml 12 Dec 2002 17:37:51 -0000 1.84 @@ -1,704 +1,704 @@ -<?xml version="1.0"?> - -<!-- -============================================================================== - - LogKit build file - -Authors: - Peter Donald <peter at apache.org> - -Legal: - Copyright (c) 2001-2002 The Apache Software Foundation. All Rights Reserved. - -============================================================================== ---> - -<project name="Avalon Logkit" default="main" basedir="."> - - <!-- - Give user a chance to override without editing this file - (and without typing -D each time he compiles it) - --> - <property file="ant.properties"/> - <property file="${user.home}/.ant.properties"/> - - <property name="name" value="logkit"/> - <property name="Name" value="LogKit"/> - <property name="version" value="1.1.1"/> - <property name="year" value="1999-2002"/> - <property name="status" value="final"/> - <property name="release" value="3nd"/> - <property name="short.version" value="1.1.1"/> - <property name="compress.jars" value="true"/> - - <!-- - these are here only for those who use jikes compiler. For other - developers this part makes no difference. - --> - <property name="build.compiler.emacs" value="on"/> - <property name="build.compiler.pedantic" value="true"/> - - <property name="debug" value="on"/> - <property name="optimize" value="off"/> - <property name="deprecation" value="off"/> - - <!-- Set the properties for intermediate directory --> - <property name="build.dir" value="build"/> - <property name="build.lib" value="${build.dir}/lib"/> - <property name="build.src" value="${build.dir}/src"/> - <property name="build.classes" value="${build.dir}/classes"/> - <property name="build.javadocs" value="${build.dir}/javadocs"/> - <property name="build.docs" value="${build.dir}/docs"/> - <property name="build.testdocs" value="${build.docs}/test"/> - <property name="build.reports" value="${build.dir}/reports"/> - <property name="build.context" value="${build.dir}/documentation"/> - <property name="build.xdocs" value="${build.context}/xdocs"/> - - <!-- Set the properties for source directories --> - <property name="src.dir" value="src"/> - <property name="lib.dir" value="lib"/> - <property name="java.dir" value="${src.dir}/java"/> - <property name="compat.dir" value="${src.dir}/compat"/> - <property name="test.dir" value="${src.dir}/test"/> - <property name="tools.dir" value="../jakarta-avalon/tools"/> - <property name="docs.dir" value="${build.dir}/docs"/> - <property name="www.dir" value="../jakarta-avalon-site/docs/${name}"/> - <property name="xdocs.dir" value="${src.dir}/xdocs"/> - <property name="context.dir" value="../jakarta-avalon/src/documentation"/> - <property name="javadocs.dir" value="${docs.dir}/api"/> - <property name="dist.dir" value="dist"/> - <property name="src.dist.dir" value="src-dist"/> - - <property name="tools.jar" value="${java.home}/../lib/tools.jar"/> - <property name="junit.jar" value="${tools.dir}/lib/junit-3.7.jar"/> - <property name="j2ee.jar" value="${cjan.dir}/j2ee.jar"/> - <property name="jdbc.driver.jar" value=""/> - - <property name="dist.name" value="${Name}-${version}"/> - <property name="dist.base" value="distributions"/> - - <property name="announce2txt" value="${tools.dir}/announcement2txt.xsl"/> - <property name="announce2header" value="${tools.dir}/announcement2header.xsl"/> - <property name="announce2readme" value="${tools.dir}/announcement2readme.xsl"/> - <property name="announce2site" value="${tools.dir}/announcement2site.xsl"/> - - <property name="servlet.jar" value="${lib.dir}/servlet.jar"/> - <property name="mail.jar" value="${lib.dir}/mail.jar"/> - <property name="jakarta-site.dir" value="../jakarta-site2"/> - <property name="framework.jar" value="../jakarta-avalon/build/lib/avalon-framework.jar"/> - - <path id="project.class.path"> - <pathelement path="${java.class.path}" /> - <pathelement location="${junit.jar}"/> - <pathelement path="${servlet.jar}" /> - <pathelement path="${mail.jar}"/> - <pathelement path="${j2ee.jar}" /> - <pathelement path="${jdbc.driver.jar}" /> - <fileset dir="${lib.dir}"> - <include name="*.jar" /> - </fileset> - <pathelement path="${build.classes}" /> - </path> - - <path id="tools.class.path"> - <fileset dir="${jakarta-site.dir}/lib"/> - </path> - - <path id="test.class.path"> - <path refid="tools.class.path"/> - <path refid="project.class.path"/> - </path> - - <!-- Main target --> - <target name="main" depends="jar" description="Build complete"/> - - <!-- Help on usage --> - <target name="usage"> - <echo message=""/> - <echo message="${Name} Build file"/> - <echo message="-------------------------------------------------------------"/> - <echo message=""/> - <echo message=" available targets are:"/> - <echo message=""/> - <echo message=" clean -> cleans up the created directories"/> - <echo message=" dist -> generates the ${Name} distribution"/> - <echo message=" dist-lite -> generates the ${Name} distribution without the javadocs (default)"/> - <echo message=" docs -> generates the ${Name} Documentation"/> - <echo message=" jar -> generates the ${Name} jar file"/> - <echo message=" javadocs -> generates the API documentation (java 1.2+ only)"/> - <echo message=" real-clean -> cleans up all genereated files and directories"/> - <echo message=""/> - <echo message="-------------------------------------------------------------"/> - <echo message=""/> - </target> - - <target name="help" depends="usage"/> - - <!-- Set up dist properties --> - <target name="setup-properties" > - - </target> - - <target name="import-servlet-jar" description="Imports the servlet API if required"> - - <mkdir dir="tmp-imports"/> - - <property name="jar-version" value="3.2.3"/> - - <get src="http://jakarta.apache.org/builds/jakarta-tomcat/release/v${jar-version}/bin/jakarta-servletapi-${jar-version}.zip" - dest="tmp-imports/jakarta-servletapi-${jar-version}.zip" - verbose="true" - usetimestamp="true"/> - - <unzip src="tmp-imports/jakarta-servletapi-${jar-version}.zip" dest="tmp-imports" /> - - <copy file="tmp-imports/jakarta-servletapi-${jar-version}/lib/servlet.jar" todir="${lib.dir}"/> - - <delete dir="tmp-imports" /> - - </target> - - <target name="import-log4j-jar" description="Imports the Log4J API if required"> - - - <get src="http://www.ibiblio.org/maven/log4j/jars/log4j-1.1.3.jar" - dest="${lib.dir}/log4j-1.1.3.jar" - verbose="true" - usetimestamp="true"/> - - </target> - - <target name="import-framework-jar" if="avalon-framework-jar.relatively-present" depends="optional-tests" description="Imports the Avalon Framework jar if required"> - - <copy file="${framework.jar}" todir="${lib.dir}"/> - - </target> - - - <target name="optional-tests" description="Tests for classes missing to the environment"> - - <available property="servlet.present" - classname="javax.servlet.ServletContext" - classpathref="project.class.path" /> - - <available property="avalon-framework-jar.relatively-present" - file="${framework.jar}"/> - - <available property="avalon-framework.present" - classname="org.apache.avalon.framework.CascadingThrowable" - classpathref="project.class.path" /> - - <available property="javax.sql.present" - classname="javax.sql.DataSource" - classpathref="project.class.path" /> - - <available property="javax.jms.present" - classname="javax.jms.TopicConnection" - classpathref="project.class.path" /> - - <available property="javax.mail.present" - classname="javax.mail.Message" - classpathref="project.class.path" /> - - <available property="log4j.present" - classname="org.apache.log4j.Appender" - classpathref="project.class.path" /> - - </target> - - <target name="op-warning"> - <echo>**********************************************</echo> - <echo>*</echo> - <echo>* Classes needed for output via ${thing} are not </echo> - <echo>* available. Logkit should build without them</echo> - <echo>*</echo> - <echo>* Recovery:</echo> - <echo>* ${recovery}</echo> - <echo>*</echo> - <echo>***********************************************</echo> - <echo/> - </target> - - <target name="servlet-warn" unless="servlet.present"> - <antcall target="op-warning"> - <param name="thing" value="Servlet"/> - <param name="recovery" - value="Run the build target import-servlet-jar and it will download the servlet api jar - you should be online for that."/> - </antcall> - </target> - - <target name="mail-warn" unless="javax.mail.present"> - <antcall target="op-warning"> - <param name="thing" value="SMTP"/> - <param name="recovery" - value="Get mail.jar from inside javamail-1_2.zip from http://java.sun.com/products/javamail/ and place it in the lib dir"/> - </antcall> - </target> - - <target name="jms-warn" unless="javax.jms.present"> - <antcall target="op-warning"> - <param name="thing" value="JMS"/> - <param name="recovery" - value="Get jms.jar from inside jms-1_0_2b.zip from http://java.sun.com/products/jms/docs.html and place it in the lib dir"/> - </antcall> - </target> - - <target name="sql-warn" unless="javax.sql.present"> - <antcall target="op-warning"> - <param name="thing" value="SQL databases"/> - <param name="recovery" - value="Get jdbc2_0-stdext.jar (listed as 'JDBC 2.0 Optional Package Binary') from http://java.sun.com/products/jdbc/download.html and place it in the lib dir"/> - </antcall> - </target> - - <target name="log4j-warn" unless="log4j.present"> - <antcall target="op-warning"> - <param name="thing" value="Log4J"/> - <param name="recovery" - value="Run the build target import-log4j-jar and it will download the Log4J api jar - you should be online for that."/> - </antcall> - </target> - - <target name="framework-warn" unless="avalon-framework.present"> - <echo>**********************************************</echo> - <echo>*</echo> - <echo>* Optional classes from Avalon's framework subproject</echo> - <echo>* are missing. Logkit should build without them.</echo> - <echo>*</echo> - <echo>* Run the build target import-framework-jar and it will</echo> - <echo>* get the framework jar from a relative directory if there.</echo> - <echo>*</echo> - <echo>***********************************************</echo> - <echo/> - </target> - - <target name="optional-warnings" depends="jms-warn,framework-warn,sql-warn,servlet-warn,mail-warn,log4j-warn"> - </target> - - <!-- Prepares the build directory --> - <target name="compile" depends="optional-tests, optional-warnings" description="Compile project"> - <mkdir dir="${build.dir}"/> - <mkdir dir="${build.classes}"/> - - - <javac srcdir="${java.dir}" - destdir="${build.classes}" - debug="${debug}" - optimize="${optimize}" - deprecation="${deprecation}" - target="1.2"> - <classpath> - <path refid="project.class.path" /> - <path refid="tools.class.path"/> - </classpath> - <src path="${test.dir}"/> - <src path="${compat.dir}"/> - <exclude name="org/apache/log/output/ServletOutputLogTarget.java" - unless="servlet.present"/> - <exclude name="org/apache/log/output/net/SMTPOutputLogTarget.java" - unless="javax.mail.present"/> - <exclude name="org/apache/log/format/AvalonFormatter.java" - unless="avalon-framework.present"/> - <exclude name="org/apache/log/output/db/**" - unless="javax.sql.present"/> - <exclude name="org/apache/log/output/jms/**" - unless="javax.jms.present"/> - <exclude name="org/apache/log/output/test/DBTargetTestCase.java" - unless="javax.sql.present"/> - </javac> - - <copy todir="${build.classes}"> - <fileset dir="${java.dir}"> - <include name="**/*.properties"/> - </fileset> - </copy> - - </target> - - <target name="test" depends="compile" description="Run tests"> - <mkdir dir="${build.reports}"/> - - <echo message="Performing Unit Tests" /> - <junit fork="true" printsummary="yes" dir="${build.reports}"> - <formatter type="plain"/> - <classpath> - <path refid="test.class.path"/> - <pathelement location="${build.classes}"/> - </classpath> - <batchtest todir="${build.reports}"> - <fileset dir="${build.classes}"> - <exclude name="**/test/Abstract*TestCase.class"/> - <include name="**/test/*TestCase.class"/> - </fileset> - </batchtest> - </junit> - - </target> - - <target name="test-report" depends="compile" description="Run tests with reports"> - <mkdir dir="${build.testdocs}"/> - <mkdir dir="${build.reports}"/> - - <echo message="Performing Unit Tests" /> - <junit fork="true" printsummary="yes" dir="${build.reports}"> - <formatter type="xml"/> - <classpath> - <path refid="test.class.path"/> - <pathelement location="${build.classes}"/> - </classpath> - <batchtest todir="${build.reports}"> - <fileset dir="${build.classes}"> - <exclude name="**/test/Abstract*TestCase.class"/> - <include name="**/test/*Profile.class" if="test.profile"/> - <include name="**/test/*TestCase.class"/> - </fileset> - </batchtest> - </junit> - - <junitreport todir="${build.reports}"> - <fileset dir="${build.reports}"> - <include name="TEST-*.xml"/> - </fileset> - <report format="frames" todir="${build.testdocs}"/> - </junitreport> - </target> - - <!-- Creates all the .jar file --> - <target name="jar" depends="compile" description="Build jar file"> - - <mkdir dir="${build.lib}"/> - - <jar jarfile="${build.lib}/${name}.jar" basedir="${build.classes}" compress="${compress.jars}"> - <include name="org/apache/log/**" /> - <exclude name="**/test/*" /> - </jar> - - </target> - - <target name="install" depends="jar, install-check-cjan"> - - <mkdir dir="${cjan.lib}" /> - <copy file="${build.lib}/${name}.jar" todir="${cjan.lib}"/> - - </target> - - <target name="install-check-cjan" unless="cjan.lib"> - <fail message="cjan.lib not specified." /> - </target> - - <target name="uninstall" depends="install-check-cjan"> - <delete file="${build.lib}/${name}.jar" dir="${cjan.lib}"/> - </target> - - <!-- Create the API documentation --> - <target name="javadocs" description="Build javadocs"> - - <!-- Hack to exclude javax.sql and javax.jms dependent classes --> - <delete dir="${build.src}"/> - <mkdir dir="${build.src}"/> - <copy todir="${build.src}"> - <fileset dir="${java.dir}"> - <exclude name="org/apache/log/output/ServletOutputLogTarget.java" - unless="servlet.present"/> - <exclude name="org/apache/log/output/net/SMTPOutputLogTarget.java" - unless="javax.mail.present"/> - <exclude name="org/apache/log/format/AvalonFormatter.java" - unless="avalon-framework.present"/> - <exclude name="org/apache/log/output/db/**" - unless="javax.sql.present"/> - <exclude name="org/apache/log/output/jms/**" - unless="javax.jms.present"/> - <exclude name="org/apache/log/output/test/DBTargetTestCase.java" - unless="javax.sql.present"/> - </fileset> - </copy> - - <delete dir="${build.javadocs}"/> - <mkdir dir="${build.javadocs}"/> - - <javadoc packagenames="org.apache.*" - sourcepath="${build.src}" - destdir="${build.javadocs}"> - <classpath refid="project.class.path" /> - <doclet name="com.sun.tools.doclets.standard.Standard"> - <param name="-author"/> - <param name="-version"/> - <param name="-doctitle" value="${Name}"/> - <param name="-windowtitle" value="${Name} API"/> - <param name="-bottom" - value=""Copyright © 2001 Apache Jakarta Project. All Rights Reserved.""/> - <param name="-link" value="http://java.sun.com/j2se/1.4/docs/api/"/> - <param name="-link" value="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/> - <param name="-link" value="http://jakarta.apache.org/avalon/api/"/> - </doclet> - </javadoc> - - </target> - - <target name="anakia-avail"> - <available classname="org.apache.velocity.anakia.AnakiaTask" - property="AnakiaTask.present"> - <classpath refid="tools.class.path"/> - </available> - </target> - - <target name="anakia-check" depends="anakia-avail" unless="AnakiaTask.present"> - <echo> - AnakiaTask is not present! Please check to make sure that - velocity.jar is in your classpath. The easiest way to build - the documentation is to checkout jakarta-site CVS and specify - jakarta-site.dir property. - </echo> - </target> - - <target name="docs" depends="anakia-check" description="Generate documentation and website"> - <taskdef name="anakia" - classname="org.apache.velocity.anakia.AnakiaTask"> - <classpath refid="tools.class.path"/> - </taskdef> - - <anakia basedir="${xdocs.dir}" - destdir="${docs.dir}" - style="docs.vsl" - projectfile="stylesheets/project.xml" - includes="**/*.xml" - excludes="stylesheets/**, changes.xml, announcement.xml" - velocitypropertiesfile="src/xdocs/stylesheets/velocity.properties" - /> - - <anakia basedir="${xdocs.dir}" - destdir="${docs.dir}" - style="changes.vsl" - projectfile="stylesheets/project.xml" - includes="changes.xml" - velocitypropertiesfile="${xdocs.dir}/stylesheets/velocity.properties" - /> - - <copy todir="${docs.dir}" filtering="off"> - <fileset dir="${xdocs.dir}"> - <include name="**/images/**"/> - <include name="**/*.gif"/> - <include name="**/*.jpg"/> - <include name="**/*.png"/> - <include name="**/*.css"/> - <include name="**/*.js"/> - </fileset> - </copy> - </target> - - <!-- Update the www directory --> - <target name="site-docs" depends="docs,javadocs" description="Build docs for jakarta site"> - - <mkdir dir="${www.dir}"/> - - <!-- delete all old documents but keep CVS directories --> - <!-- note that by doing an include the defaultexcludes (CVS dirs) will be kept --> - <delete> - <fileset dir="${www.dir}"> - <include name="**"/> - </fileset> - </delete> - - <mkdir dir="${www.dir}"/> - - <copy todir="${www.dir}"> - <fileset dir="${docs.dir}" /> - </copy> - - <copy todir="${www.dir}/api"> - <fileset dir="${build.javadocs}" /> - </copy> - - - </target> - - <!-- Create the binary distribution --> - <target name="bin-dist" depends="jar"> - - <property name="dist.lib" value="${dist.dir}/lib"/> - <property name="dist.docs" value="${dist.dir}/docs"/> - <property name="dist.javadocs" value="${dist.dir}/docs/api"/> - - <mkdir dir="${dist.dir}"/> - <mkdir dir="${dist.docs}"/> - <mkdir dir="${dist.javadocs}"/> - - <copy todir="${dist.docs}"> - <fileset dir="${docs.dir}"/> - </copy> - - <copy todir="${dist.javadocs}"> - <fileset dir="${build.javadocs}"/> - </copy> - - <copy file="${build.lib}/${name}.jar" tofile="${dist.dir}/${name}-${version}.jar"/> - - <copy todir="${dist.dir}"> - <fileset dir="."> - <include name="README"/> - <include name="KEYS"/> - <include name="LICENSE"/> - </fileset> - </copy> - - <chmod dir="${dist.dir}" perm="go-rwx" /> - - </target> - - <!-- Create the source distribution --> - <target name="src-dist"> - - <property name="src.dist.src" value="${src.dist.dir}/src"/> - <property name="src.dist.docs" value="${src.dist.dir}/docs"/> - <property name="src.dist.javadocs" value="${src.dist.dir}/docs/api"/> - <property name="src.dist.lib" value="${src.dist.dir}/lib"/> - <property name="src.dist.tools" value="${src.dist.dir}/tools"/> - - <mkdir dir="${src.dist.dir}" /> - <mkdir dir="${src.dist.docs}"/> - <mkdir dir="${src.dist.javadocs}"/> - - <copy todir="${src.dist.lib}"> - <fileset dir="${lib.dir}"> - <include name="README"/> - <include name="exceptionutil.jar"/> - </fileset> - </copy> - - <copy todir="${src.dist.src}"> - <fileset dir="${src.dir}"/> - </copy> - - <copy todir="${src.dist.docs}"> - <fileset dir="${docs.dir}"/> - </copy> - - <copy todir="${src.dist.javadocs}"> - <fileset dir="${build.javadocs}"/> - </copy> - - <copy todir="${src.dist.dir}"> - <fileset dir="."> - <include name="README"/> - <include name="KEYS"/> - <include name="LICENSE"/> - <include name="build.xml"/> - </fileset> - </copy> - - <chmod perm="+x"> - <fileset dir="${src.dist.dir}"> - <include name="build.sh" /> - </fileset> - </chmod> - - <fixcrlf srcdir="${src.dist.src}/java" includes="**/*.java" eol="lf"/> - - <chmod dir="${src.dist.dir}" perm="go-rwx" /> - - </target> - - <!-- Completely build all dists --> - <target name="dist" depends="site-docs,announcement" description="Build distribution"> - <mkdir dir="${dist.base}"/> - - <antcall target="bin-dist"> - <param name="dist.dir" value="${dist.name}" /> - </antcall> - - <zip destfile="${dist.base}/${dist.name}-bin.zip" - basedir="${dist.name}/.." - includes="${dist.name}/**"/> - - <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-bin.tar"> - <tarfileset dir="${dist.name}/.." username="avalon" group="avalon"> - <include name="${dist.name}/**"/> - </tarfileset> - </tar> - - <gzip zipfile="${dist.base}/${dist.name}-bin.tar.gz" - src="${dist.base}/${dist.name}-bin.tar"/> - - <delete file="${dist.base}/${dist.name}-bin.tar"/> - <delete dir="${dist.name}" /> - - <antcall target="src-dist"> - <param name="src.dist.dir" value="${dist.name}" /> - </antcall> - - <zip destfile="${dist.base}/${dist.name}-src.zip" - basedir="${dist.name}/.." - includes="${dist.name}/**"/> - - <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-src.tar" > - <tarfileset dir="${dist.name}/.." mode="755" username="avalon" group="avalon"> - <include name="${dist.name}/build.sh"/> - </tarfileset> - <tarfileset dir="${dist.name}/.." username="avalon" group="avalon"> - <include name="${dist.name}/**"/> - <exclude name="${dist.name}/build.sh"/> - </tarfileset> - </tar> - - <gzip zipfile="${dist.base}/${dist.name}-src.tar.gz" - src="${dist.base}/${dist.name}-src.tar"/> - - <delete file="${dist.base}/${dist.name}-src.tar"/> - <delete dir="${dist.name}" /> - - </target> - - <!-- Create the announcements and HEADER.html --> - <target name="announcement" depends="setup-properties"> - - <filter token="Name" value="${Name}"/> - <filter token="name" value="${name}"/> - <filter token="version" value="${version}"/> - <filter token="year" value="${year}"/> - <filter token="status" value="${status}"/> - <filter token="short-version" value="${short.version}"/> - <filter token="release" value="${release}"/> - - <mkdir dir="${build.dir}" /> - <mkdir dir="${dist.base}" /> - - <copy todir="${build.xdocs}" overwrite="true" filtering="on"> - <fileset dir="${xdocs.dir}"> - <exclude name="**/images/**"/> - </fileset> - </copy> - - <style style="${announce2txt}" in="${build.xdocs}/announcement.xml" out="Announcement.txt"/> - <style style="${announce2header}" in="${build.xdocs}/announcement.xml" - out="${dist.base}/HEADER.html"/> - <style style="${announce2readme}" in="${build.xdocs}/announcement.xml" - out="${dist.base}/README.html"/> - <style style="${announce2site}" in="${build.xdocs}/announcement.xml" - out="jakarta-news.xml"/> - - </target> - - <target name="recompile" description="Recompile the java files"> - <delete dir="${build.classes}" /> - <antcall target="compile"/> - </target> - - <!-- Cleans up build and distribution directories --> - <target name="clean" description="Clean build dirs"> - <delete dir="${build.dir}" /> - <delete dir="test" /> <!-- cleanup unit test directory --> - <delete> - <fileset dir="." includes="velocity.log*"/> - <fileset dir="." includes="**/*~" defaultexcludes="no"/> - </delete> - </target> - - <!-- Cleans absolutely everything up --> - <target name="distclean" depends="clean"> - <delete dir="${docs.dir}" /> - <delete dir="${dist.base}" /> - </target> - -</project> - +<?xml version="1.0"?> + +<!-- +============================================================================== + + LogKit build file + +Authors: + Peter Donald <peter at apache.org> + +Legal: + Copyright (c) 2001-2002 The Apache Software Foundation. All Rights Reserved. + +============================================================================== +--> + +<project name="Avalon Logkit" default="main" basedir="."> + + <!-- + Give user a chance to override without editing this file + (and without typing -D each time he compiles it) + --> + <property file="ant.properties"/> + <property file="${user.home}/.ant.properties"/> + + <property name="name" value="logkit"/> + <property name="Name" value="LogKit"/> + <property name="version" value="1.1.1"/> + <property name="year" value="1999-2002"/> + <property name="status" value="final"/> + <property name="release" value="3nd"/> + <property name="short.version" value="1.1.1"/> + <property name="compress.jars" value="true"/> + + <!-- + these are here only for those who use jikes compiler. For other + developers this part makes no difference. + --> + <property name="build.compiler.emacs" value="on"/> + <property name="build.compiler.pedantic" value="true"/> + + <property name="debug" value="on"/> + <property name="optimize" value="off"/> + <property name="deprecation" value="off"/> + + <!-- Set the properties for intermediate directory --> + <property name="build.dir" value="build"/> + <property name="build.lib" value="${build.dir}/lib"/> + <property name="build.src" value="${build.dir}/src"/> + <property name="build.classes" value="${build.dir}/classes"/> + <property name="build.javadocs" value="${build.dir}/javadocs"/> + <property name="build.docs" value="${build.dir}/docs"/> + <property name="build.testdocs" value="${build.docs}/test"/> + <property name="build.reports" value="${build.dir}/reports"/> + <property name="build.context" value="${build.dir}/documentation"/> + <property name="build.xdocs" value="${build.context}/xdocs"/> + + <!-- Set the properties for source directories --> + <property name="src.dir" value="src"/> + <property name="lib.dir" value="lib"/> + <property name="java.dir" value="${src.dir}/java"/> + <property name="compat.dir" value="${src.dir}/compat"/> + <property name="test.dir" value="${src.dir}/test"/> + <property name="tools.dir" value="../jakarta-avalon/tools"/> + <property name="docs.dir" value="${build.dir}/docs"/> + <property name="www.dir" value="../jakarta-avalon-site/docs/${name}"/> + <property name="xdocs.dir" value="${src.dir}/xdocs"/> + <property name="context.dir" value="../jakarta-avalon/src/documentation"/> + <property name="javadocs.dir" value="${docs.dir}/api"/> + <property name="dist.dir" value="dist"/> + <property name="src.dist.dir" value="src-dist"/> + + <property name="tools.jar" value="${java.home}/../lib/tools.jar"/> + <property name="junit.jar" value="${tools.dir}/lib/junit-3.7.jar"/> + <property name="j2ee.jar" value="${cjan.dir}/j2ee.jar"/> + <property name="jdbc.driver.jar" value=""/> + + <property name="dist.name" value="${Name}-${version}"/> + <property name="dist.base" value="distributions"/> + + <property name="announce2txt" value="${tools.dir}/announcement2txt.xsl"/> + <property name="announce2header" value="${tools.dir}/announcement2header.xsl"/> + <property name="announce2readme" value="${tools.dir}/announcement2readme.xsl"/> + <property name="announce2site" value="${tools.dir}/announcement2site.xsl"/> + + <property name="servlet.jar" value="${lib.dir}/servlet.jar"/> + <property name="mail.jar" value="${lib.dir}/mail.jar"/> + <property name="jakarta-site.dir" value="../jakarta-site"/> + <property name="framework.jar" value="../jakarta-avalon/build/lib/avalon-framework.jar"/> + + <path id="project.class.path"> + <pathelement path="${java.class.path}" /> + <pathelement location="${junit.jar}"/> + <pathelement path="${servlet.jar}" /> + <pathelement path="${mail.jar}"/> + <pathelement path="${j2ee.jar}" /> + <pathelement path="${jdbc.driver.jar}" /> + <fileset dir="${lib.dir}"> + <include name="*.jar" /> + </fileset> + <pathelement path="${build.classes}" /> + </path> + + <path id="tools.class.path"> + <fileset dir="${jakarta-site.dir}/lib"/> + </path> + + <path id="test.class.path"> + <path refid="tools.class.path"/> + <path refid="project.class.path"/> + </path> + + <!-- Main target --> + <target name="main" depends="jar" description="Build complete"/> + + <!-- Help on usage --> + <target name="usage"> + <echo message=""/> + <echo message="${Name} Build file"/> + <echo message="-------------------------------------------------------------"/> + <echo message=""/> + <echo message=" available targets are:"/> + <echo message=""/> + <echo message=" clean -> cleans up the created directories"/> + <echo message=" dist -> generates the ${Name} distribution"/> + <echo message=" dist-lite -> generates the ${Name} distribution without the javadocs (default)"/> + <echo message=" docs -> generates the ${Name} Documentation"/> + <echo message=" jar -> generates the ${Name} jar file"/> + <echo message=" javadocs -> generates the API documentation (java 1.2+ only)"/> + <echo message=" real-clean -> cleans up all genereated files and directories"/> + <echo message=""/> + <echo message="-------------------------------------------------------------"/> + <echo message=""/> + </target> + + <target name="help" depends="usage"/> + + <!-- Set up dist properties --> + <target name="setup-properties" > + + </target> + + <target name="import-servlet-jar" description="Imports the servlet API if required"> + + <mkdir dir="tmp-imports"/> + + <property name="jar-version" value="3.2.3"/> + + <get src="http://jakarta.apache.org/builds/jakarta-tomcat/release/v${jar-version}/bin/jakarta-servletapi-${jar-version}.zip" + dest="tmp-imports/jakarta-servletapi-${jar-version}.zip" + verbose="true" + usetimestamp="true"/> + + <unzip src="tmp-imports/jakarta-servletapi-${jar-version}.zip" dest="tmp-imports" /> + + <copy file="tmp-imports/jakarta-servletapi-${jar-version}/lib/servlet.jar" todir="${lib.dir}"/> + + <delete dir="tmp-imports" /> + + </target> + + <target name="import-log4j-jar" description="Imports the Log4J API if required"> + + + <get src="http://www.ibiblio.org/maven/log4j/jars/log4j-1.1.3.jar" + dest="${lib.dir}/log4j-1.1.3.jar" + verbose="true" + usetimestamp="true"/> + + </target> + + <target name="import-framework-jar" if="avalon-framework-jar.relatively-present" depends="optional-tests" description="Imports the Avalon Framework jar if required"> + + <copy file="${framework.jar}" todir="${lib.dir}"/> + + </target> + + + <target name="optional-tests" description="Tests for classes missing to the environment"> + + <available property="servlet.present" + classname="javax.servlet.ServletContext" + classpathref="project.class.path" /> + + <available property="avalon-framework-jar.relatively-present" + file="${framework.jar}"/> + + <available property="avalon-framework.present" + classname="org.apache.avalon.framework.CascadingThrowable" + classpathref="project.class.path" /> + + <available property="javax.sql.present" + classname="javax.sql.DataSource" + classpathref="project.class.path" /> + + <available property="javax.jms.present" + classname="javax.jms.TopicConnection" + classpathref="project.class.path" /> + + <available property="javax.mail.present" + classname="javax.mail.Message" + classpathref="project.class.path" /> + + <available property="log4j.present" + classname="org.apache.log4j.Appender" + classpathref="project.class.path" /> + + </target> + + <target name="op-warning"> + <echo>**********************************************</echo> + <echo>*</echo> + <echo>* Classes needed for output via ${thing} are not </echo> + <echo>* available. Logkit should build without them</echo> + <echo>*</echo> + <echo>* Recovery:</echo> + <echo>* ${recovery}</echo> + <echo>*</echo> + <echo>***********************************************</echo> + <echo/> + </target> + + <target name="servlet-warn" unless="servlet.present"> + <antcall target="op-warning"> + <param name="thing" value="Servlet"/> + <param name="recovery" + value="Run the build target import-servlet-jar and it will download the servlet api jar - you should be online for that."/> + </antcall> + </target> + + <target name="mail-warn" unless="javax.mail.present"> + <antcall target="op-warning"> + <param name="thing" value="SMTP"/> + <param name="recovery" + value="Get mail.jar from inside javamail-1_2.zip from http://java.sun.com/products/javamail/ and place it in the lib dir"/> + </antcall> + </target> + + <target name="jms-warn" unless="javax.jms.present"> + <antcall target="op-warning"> + <param name="thing" value="JMS"/> + <param name="recovery" + value="Get jms.jar from inside jms-1_0_2b.zip from http://java.sun.com/products/jms/docs.html and place it in the lib dir"/> + </antcall> + </target> + + <target name="sql-warn" unless="javax.sql.present"> + <antcall target="op-warning"> + <param name="thing" value="SQL databases"/> + <param name="recovery" + value="Get jdbc2_0-stdext.jar (listed as 'JDBC 2.0 Optional Package Binary') from http://java.sun.com/products/jdbc/download.html and place it in the lib dir"/> + </antcall> + </target> + + <target name="log4j-warn" unless="log4j.present"> + <antcall target="op-warning"> + <param name="thing" value="Log4J"/> + <param name="recovery" + value="Run the build target import-log4j-jar and it will download the Log4J api jar - you should be online for that."/> + </antcall> + </target> + + <target name="framework-warn" unless="avalon-framework.present"> + <echo>**********************************************</echo> + <echo>*</echo> + <echo>* Optional classes from Avalon's framework subproject</echo> + <echo>* are missing. Logkit should build without them.</echo> + <echo>*</echo> + <echo>* Run the build target import-framework-jar and it will</echo> + <echo>* get the framework jar from a relative directory if there.</echo> + <echo>*</echo> + <echo>***********************************************</echo> + <echo/> + </target> + + <target name="optional-warnings" depends="jms-warn,framework-warn,sql-warn,servlet-warn,mail-warn,log4j-warn"> + </target> + + <!-- Prepares the build directory --> + <target name="compile" depends="optional-tests, optional-warnings" description="Compile project"> + <mkdir dir="${build.dir}"/> + <mkdir dir="${build.classes}"/> + + + <javac srcdir="${java.dir}" + destdir="${build.classes}" + debug="${debug}" + optimize="${optimize}" + deprecation="${deprecation}" + target="1.2"> + <classpath> + <path refid="project.class.path" /> + <path refid="tools.class.path"/> + </classpath> + <src path="${test.dir}"/> + <src path="${compat.dir}"/> + <exclude name="org/apache/log/output/ServletOutputLogTarget.java" + unless="servlet.present"/> + <exclude name="org/apache/log/output/net/SMTPOutputLogTarget.java" + unless="javax.mail.present"/> + <exclude name="org/apache/log/format/AvalonFormatter.java" + unless="avalon-framework.present"/> + <exclude name="org/apache/log/output/db/**" + unless="javax.sql.present"/> + <exclude name="org/apache/log/output/jms/**" + unless="javax.jms.present"/> + <exclude name="org/apache/log/output/test/DBTargetTestCase.java" + unless="javax.sql.present"/> + </javac> + + <copy todir="${build.classes}"> + <fileset dir="${java.dir}"> + <include name="**/*.properties"/> + </fileset> + </copy> + + </target> + + <target name="test" depends="compile" description="Run tests"> + <mkdir dir="${build.reports}"/> + + <echo message="Performing Unit Tests" /> + <junit fork="true" printsummary="yes" dir="${build.reports}"> + <formatter type="plain"/> + <classpath> + <path refid="test.class.path"/> + <pathelement location="${build.classes}"/> + </classpath> + <batchtest todir="${build.reports}"> + <fileset dir="${build.classes}"> + <exclude name="**/test/Abstract*TestCase.class"/> + <include name="**/test/*TestCase.class"/> + </fileset> + </batchtest> + </junit> + + </target> + + <target name="test-report" depends="compile" description="Run tests with reports"> + <mkdir dir="${build.testdocs}"/> + <mkdir dir="${build.reports}"/> + + <echo message="Performing Unit Tests" /> + <junit fork="true" printsummary="yes" dir="${build.reports}"> + <formatter type="xml"/> + <classpath> + <path refid="test.class.path"/> + <pathelement location="${build.classes}"/> + </classpath> + <batchtest todir="${build.reports}"> + <fileset dir="${build.classes}"> + <exclude name="**/test/Abstract*TestCase.class"/> + <include name="**/test/*Profile.class" if="test.profile"/> + <include name="**/test/*TestCase.class"/> + </fileset> + </batchtest> + </junit> + + <junitreport todir="${build.reports}"> + <fileset dir="${build.reports}"> + <include name="TEST-*.xml"/> + </fileset> + <report format="frames" todir="${build.testdocs}"/> + </junitreport> + </target> + + <!-- Creates all the .jar file --> + <target name="jar" depends="compile" description="Build jar file"> + + <mkdir dir="${build.lib}"/> + + <jar jarfile="${build.lib}/${name}.jar" basedir="${build.classes}" compress="${compress.jars}"> + <include name="org/apache/log/**" /> + <exclude name="**/test/*" /> + </jar> + + </target> + + <target name="install" depends="jar, install-check-cjan"> + + <mkdir dir="${cjan.lib}" /> + <copy file="${build.lib}/${name}.jar" todir="${cjan.lib}"/> + + </target> + + <target name="install-check-cjan" unless="cjan.lib"> + <fail message="cjan.lib not specified." /> + </target> + + <target name="uninstall" depends="install-check-cjan"> + <delete file="${build.lib}/${name}.jar" dir="${cjan.lib}"/> + </target> + + <!-- Create the API documentation --> + <target name="javadocs" description="Build javadocs"> + + <!-- Hack to exclude javax.sql and javax.jms dependent classes --> + <delete dir="${build.src}"/> + <mkdir dir="${build.src}"/> + <copy todir="${build.src}"> + <fileset dir="${java.dir}"> + <exclude name="org/apache/log/output/ServletOutputLogTarget.java" + unless="servlet.present"/> + <exclude name="org/apache/log/output/net/SMTPOutputLogTarget.java" + unless="javax.mail.present"/> + <exclude name="org/apache/log/format/AvalonFormatter.java" + unless="avalon-framework.present"/> + <exclude name="org/apache/log/output/db/**" + unless="javax.sql.present"/> + <exclude name="org/apache/log/output/jms/**" + unless="javax.jms.present"/> + <exclude name="org/apache/log/output/test/DBTargetTestCase.java" + unless="javax.sql.present"/> + </fileset> + </copy> + + <delete dir="${build.javadocs}"/> + <mkdir dir="${build.javadocs}"/> + + <javadoc packagenames="org.apache.*" + sourcepath="${build.src}" + destdir="${build.javadocs}"> + <classpath refid="project.class.path" /> + <doclet name="com.sun.tools.doclets.standard.Standard"> + <param name="-author"/> + <param name="-version"/> + <param name="-doctitle" value="${Name}"/> + <param name="-windowtitle" value="${Name} API"/> + <param name="-bottom" + value=""Copyright © 2001 Apache Jakarta Project. All Rights Reserved.""/> + <param name="-link" value="http://java.sun.com/j2se/1.4/docs/api/"/> + <param name="-link" value="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/> + <param name="-link" value="http://jakarta.apache.org/avalon/api/"/> + </doclet> + </javadoc> + + </target> + + <target name="anakia-avail"> + <available classname="org.apache.velocity.anakia.AnakiaTask" + property="AnakiaTask.present"> + <classpath refid="tools.class.path"/> + </available> + </target> + + <target name="anakia-check" depends="anakia-avail" unless="AnakiaTask.present"> + <echo> + AnakiaTask is not present! Please check to make sure that + velocity.jar is in your classpath. The easiest way to build + the documentation is to checkout jakarta-site CVS and specify + jakarta-site.dir property. + </echo> + </target> + + <target name="docs" depends="anakia-check" description="Generate documentation and website"> + <taskdef name="anakia" + classname="org.apache.velocity.anakia.AnakiaTask"> + <classpath refid="tools.class.path"/> + </taskdef> + + <anakia basedir="${xdocs.dir}" + destdir="${docs.dir}" + style="docs.vsl" + projectfile="stylesheets/project.xml" + includes="**/*.xml" + excludes="stylesheets/**, changes.xml, announcement.xml" + velocitypropertiesfile="src/xdocs/stylesheets/velocity.properties" + /> + + <anakia basedir="${xdocs.dir}" + destdir="${docs.dir}" + style="changes.vsl" + projectfile="stylesheets/project.xml" + includes="changes.xml" + velocitypropertiesfile="${xdocs.dir}/stylesheets/velocity.properties" + /> + + <copy todir="${docs.dir}" filtering="off"> + <fileset dir="${xdocs.dir}"> + <include name="**/images/**"/> + <include name="**/*.gif"/> + <include name="**/*.jpg"/> + <include name="**/*.png"/> + <include name="**/*.css"/> + <include name="**/*.js"/> + </fileset> + </copy> + </target> + + <!-- Update the www directory --> + <target name="site-docs" depends="docs,javadocs" description="Build docs for jakarta site"> + + <mkdir dir="${www.dir}"/> + + <!-- delete all old documents but keep CVS directories --> + <!-- note that by doing an include the defaultexcludes (CVS dirs) will be kept --> + <delete> + <fileset dir="${www.dir}"> + <include name="**"/> + </fileset> + </delete> + + <mkdir dir="${www.dir}"/> + + <copy todir="${www.dir}"> + <fileset dir="${docs.dir}" /> + </copy> + + <copy todir="${www.dir}/api"> + <fileset dir="${build.javadocs}" /> + </copy> + + + </target> + + <!-- Create the binary distribution --> + <target name="bin-dist" depends="jar"> + + <property name="dist.lib" value="${dist.dir}/lib"/> + <property name="dist.docs" value="${dist.dir}/docs"/> + <property name="dist.javadocs" value="${dist.dir}/docs/api"/> + + <mkdir dir="${dist.dir}"/> + <mkdir dir="${dist.docs}"/> + <mkdir dir="${dist.javadocs}"/> + + <copy todir="${dist.docs}"> + <fileset dir="${docs.dir}"/> + </copy> + + <copy todir="${dist.javadocs}"> + <fileset dir="${build.javadocs}"/> + </copy> + + <copy file="${build.lib}/${name}.jar" tofile="${dist.dir}/${name}-${version}.jar"/> + + <copy todir="${dist.dir}"> + <fileset dir="."> + <include name="README"/> + <include name="KEYS"/> + <include name="LICENSE"/> + </fileset> + </copy> + + <chmod dir="${dist.dir}" perm="go-rwx" /> + + </target> + + <!-- Create the source distribution --> + <target name="src-dist"> + + <property name="src.dist.src" value="${src.dist.dir}/src"/> + <property name="src.dist.docs" value="${src.dist.dir}/docs"/> + <property name="src.dist.javadocs" value="${src.dist.dir}/docs/api"/> + <property name="src.dist.lib" value="${src.dist.dir}/lib"/> + <property name="src.dist.tools" value="${src.dist.dir}/tools"/> + + <mkdir dir="${src.dist.dir}" /> + <mkdir dir="${src.dist.docs}"/> + <mkdir dir="${src.dist.javadocs}"/> + + <copy todir="${src.dist.lib}"> + <fileset dir="${lib.dir}"> + <include name="README"/> + <include name="exceptionutil.jar"/> + </fileset> + </copy> + + <copy todir="${src.dist.src}"> + <fileset dir="${src.dir}"/> + </copy> + + <copy todir="${src.dist.docs}"> + <fileset dir="${docs.dir}"/> + </copy> + + <copy todir="${src.dist.javadocs}"> + <fileset dir="${build.javadocs}"/> + </copy> + + <copy todir="${src.dist.dir}"> + <fileset dir="."> + <include name="README"/> + <include name="KEYS"/> + <include name="LICENSE"/> + <include name="build.xml"/> + </fileset> + </copy> + + <chmod perm="+x"> + <fileset dir="${src.dist.dir}"> + <include name="build.sh" /> + </fileset> + </chmod> + + <fixcrlf srcdir="${src.dist.src}/java" includes="**/*.java" eol="lf"/> + + <chmod dir="${src.dist.dir}" perm="go-rwx" /> + + </target> + + <!-- Completely build all dists --> + <target name="dist" depends="site-docs,announcement" description="Build distribution"> + <mkdir dir="${dist.base}"/> + + <antcall target="bin-dist"> + <param name="dist.dir" value="${dist.name}" /> + </antcall> + + <zip destfile="${dist.base}/${dist.name}-bin.zip" + basedir="${dist.name}/.." + includes="${dist.name}/**"/> + + <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-bin.tar"> + <tarfileset dir="${dist.name}/.." username="avalon" group="avalon"> + <include name="${dist.name}/**"/> + </tarfileset> + </tar> + + <gzip zipfile="${dist.base}/${dist.name}-bin.tar.gz" + src="${dist.base}/${dist.name}-bin.tar"/> + + <delete file="${dist.base}/${dist.name}-bin.tar"/> + <delete dir="${dist.name}" /> + + <antcall target="src-dist"> + <param name="src.dist.dir" value="${dist.name}" /> + </antcall> + + <zip destfile="${dist.base}/${dist.name}-src.zip" + basedir="${dist.name}/.." + includes="${dist.name}/**"/> + + <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-src.tar" > + <tarfileset dir="${dist.name}/.." mode="755" username="avalon" group="avalon"> + <include name="${dist.name}/build.sh"/> + </tarfileset> + <tarfileset dir="${dist.name}/.." username="avalon" group="avalon"> + <include name="${dist.name}/**"/> + <exclude name="${dist.name}/build.sh"/> + </tarfileset> + </tar> + + <gzip zipfile="${dist.base}/${dist.name}-src.tar.gz" + src="${dist.base}/${dist.name}-src.tar"/> + + <delete file="${dist.base}/${dist.name}-src.tar"/> + <delete dir="${dist.name}" /> + + </target> + + <!-- Create the announcements and HEADER.html --> + <target name="announcement" depends="setup-properties"> + + <filter token="Name" value="${Name}"/> + <filter token="name" value="${name}"/> + <filter token="version" value="${version}"/> + <filter token="year" value="${year}"/> + <filter token="status" value="${status}"/> + <filter token="short-version" value="${short.version}"/> + <filter token="release" value="${release}"/> + + <mkdir dir="${build.dir}" /> + <mkdir dir="${dist.base}" /> + + <copy todir="${build.xdocs}" overwrite="true" filtering="on"> + <fileset dir="${xdocs.dir}"> + <exclude name="**/images/**"/> + </fileset> + </copy> + + <style style="${announce2txt}" in="${build.xdocs}/announcement.xml" out="Announcement.txt"/> + <style style="${announce2header}" in="${build.xdocs}/announcement.xml" + out="${dist.base}/HEADER.html"/> + <style style="${announce2readme}" in="${build.xdocs}/announcement.xml" + out="${dist.base}/README.html"/> + <style style="${announce2site}" in="${build.xdocs}/announcement.xml" + out="jakarta-news.xml"/> + + </target> + + <target name="recompile" description="Recompile the java files"> + <delete dir="${build.classes}" /> + <antcall target="compile"/> + </target> + + <!-- Cleans up build and distribution directories --> + <target name="clean" description="Clean build dirs"> + <delete dir="${build.dir}" /> + <delete dir="test" /> <!-- cleanup unit test directory --> + <delete> + <fileset dir="." includes="velocity.log*"/> + <fileset dir="." includes="**/*~" defaultexcludes="no"/> + </delete> + </target> + + <!-- Cleans absolutely everything up --> + <target name="distclean" depends="clean"> + <delete dir="${docs.dir}" /> + <delete dir="${dist.base}" /> + </target> + +</project> +
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>