You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by do...@apache.org on 2001/02/25 15:29:42 UTC
cvs commit: jakarta-avalon/proposal/4.0 build.xml build.sh build.bat
donaldp 01/02/25 06:29:42
Added: proposal/4.0 build.xml build.sh build.bat
Log:
Updated proposal build instructions.
Revision Changes Path
1.1 jakarta-avalon/proposal/4.0/build.xml
Index: build.xml
===================================================================
<?xml version="1.0"?>
<!--
==============================================================================
Avalon build file
Authors:
Federico Barbieri <sc...@apache.org>
Berin Loritsch <bl...@apache.org>
Peter Donald <do...@apache.org>
Legal:
Copyright (c) 1999-2000 The Apache Software Foundation. All Rights Reserved.
==============================================================================
-->
<project 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="avalonapi"/>
<property name="Name" value="Avalon"/>
<property name="version" value="4.0-proposal"/>
<property name="year" value="1999-2001"/>
<!--
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.warnings" value="true"/>
<property name="build.compiler.pedantic" value="true"/>
<property name="build.compiler.depend" value="true"/>
<property name="build.compiler.fulldepend" value="true"/>
<property name="debug" value="off"/>
<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.xdocs" value="${build.dir}/xdocs"/>
<!--
===================================================================
Set the properties for source directories
===================================================================
-->
<property name="src.dir" value="src"/>
<property name="java.dir" value="proposal/4.0/src/java"/>
<property name="lib.dir" value="lib"/>
<property name="tools.dir" value="tools"/>
<property name="docs.dir" value="docs"/>
<property name="www.dir" value="www"/>
<property name="javadocs.dir" value="${docs.dir}/api"/>
<property name="skins.dir" value="${src.dir}/skins"/>
<property name="avalon.skin" value="${skins.dir}/avalon/"/>
<property name="xdocs.dir" value="${src.dir}/xdocs"/>
<property name="stylesheets.dir" value="${skins.dir}"/>
<property name="dist.name" value="${name}-${version}"/>
<path id="project.class.path">
<fileset dir="tools/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
<pathelement path="${build.classes}" />
</path>
<!--
===================================================================
Main target
===================================================================
-->
<target name="main" depends="jars" />
<!--
===================================================================
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=" jar --> generates the ${Name} jar files"/>
<echo message=" test --> perform unit tests"/>
<echo message=" compile --> compiles the source code"/>
<echo message=" javadocs --> generates the API documentation (java 1.2+ only)"/>
<echo message=" docs --> generates the ${Name} Documentation"/>
<echo message=" main or jars --> generates the ${Name} distribution without the javadocs (default)"/>
<echo message=" dist --> generates the ${Name} distribution"/>
<echo message=" clean --> cleans up the created directories"/>
<echo message=" real-clean --> cleans up all genereated files and directories"/>
<echo message=" proposal --> generates the ${Name} proposal distribution without the javadocs"/>
<echo message=""/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
</target>
<target name="help" depends="usage"/>
<!--
===================================================================
Set up dist properties
===================================================================
-->
<target name="setup-properties" >
<property name="dist.dir" value="dist"/>
<property name="dist.bin" value="${dist.dir}/bin"/>
<property name="dist.apps" value="${dist.dir}/apps"/>
<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"/>
<property name="src.dist.dir" value="dist-src"/>
<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"/>
</target>
<!--
===================================================================
Checks the environment for existing resources
===================================================================
-->
<target name="check-environment" depends="check-datasource" if="jndi.present"/>
<target name="check-datasource" if="datasource.present">
<property name="j2ee.present" value="true"/>
</target>
<!--
===================================================================
Prepares the build directory
===================================================================
-->
<target name="prepare" depends="check-environment,setup-properties">
<tstamp/>
<mkdir dir="${build.dir}"/>
</target>
<!--
===================================================================
Compiles the source code
===================================================================
-->
<target name="compile" depends="prepare">
<mkdir dir="${build.classes}"/>
<javac srcdir="${java.dir}"
destdir="${build.classes}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<classpath refid="project.class.path" />
<exclude name="org/apache/avalon/datasource/J2eeDataSource.java"
unless="j2ee.present"/>
</javac>
</target>
<!--
===================================================================
Creates the clutil.jar file
===================================================================
-->
<target name="compile-clutil" depends="prepare">
<mkdir dir="${build.classes}"/>
<javac srcdir="${java.dir}"
destdir="${build.classes}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<include name="org/apache/avalon/util/cli/*" />
<exclude name="org/apache/avalon/util/cli/AbstractMain.java" />
</javac>
</target>
<target name="jar-clutil" depends="compile-clutil">
<mkdir dir="${build.lib}"/>
<jar jarfile="${build.lib}/clutil.jar" basedir="${build.classes}">
<include name="org/apache/avalon/util/cli/*" />
<exclude name="org/apache/avalon/util/cli/AbstractMain.class" />
</jar>
</target>
<!--
===================================================================
Prepares the documentation directory
===================================================================
-->
<target name="docs">
<filter token="year" value="${year}"/>
<mkdir dir="${build.xdocs}"/>
<mkdir dir="${build.docs}"/>
<copy todir="${build.xdocs}" filtering="on">
<fileset dir="${xdocs.dir}">
<exclude name="**/images/**"/>
</fileset>
</copy>
<copy todir="${build.xdocs}" filtering="off">
<fileset dir="${xdocs.dir}">
<include name="**/images/**"/>
</fileset>
</copy>
<stylebook targetdirectory="${build.docs}"
book="${build.xdocs}/book.xml"
skindirectory="${avalon.skin}">
<classpath refid="project.class.path" />
</stylebook>
</target>
<!--
===================================================================
Create the API documentation
===================================================================
-->
<target name="javadocs">
<delete dir="${build.javadocs}"/>
<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="org.apache.*"
sourcepath="${java.dir}"
destdir="${build.javadocs}">
<classpath refid="project.class.path" />
<doclet name="com.sun.tools.doclets.standard.Standard">
<param name="-author"/>
<param name="-version"/>
<param name="-use"/>
<param name="-doctitle" value="${Name}"/>
<param name="-windowtitle" value="${Name} API"/>
<param name="-bottom"
value=""Copyright © 2001 Apache Jakarta Project. All Rights Reserved.""/>
</doclet>
</javadoc>
</target>
<!--
===================================================================
Create the Local site documentation
===================================================================
-->
<target name="local-docs" depends="docs">
<delete>
<fileset dir="${docs.dir}">
<exclude name="api/**"/>
</fileset>
</delete>
<mkdir dir="${docs.dir}"/>
<copy todir="${docs.dir}">
<fileset dir="${build.docs}" />
</copy>
</target>
<!--
===================================================================
Create the Local API documentation
===================================================================
-->
<target name="local-javadocs" depends="javadocs">
<delete dir="${javadocs.dir}"/>
<mkdir dir="${javadocs.dir}"/>
<copy todir="${javadocs.dir}">
<fileset dir="${build.javadocs}" />
</copy>
</target>
<!--
===================================================================
Update the www directory
===================================================================
-->
<target name="site-docs" depends="local-javadocs,local-docs">
<!-- 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>
</target>
<!--
===================================================================
Creates all the .jar files
===================================================================
-->
<target name="jars" depends="compile">
<mkdir dir="${build.lib}"/>
<jar jarfile="${build.lib}/avalonapi.jar" basedir="${build.classes}">
<include name="org/apache/avalon/**"/>
<zipfileset src="${lib.dir}/log.jar" includes="**/*.class"/>
</jar>
</target>
<!--
===================================================================
Create the distribution
===================================================================
-->
<target name="dist" depends="jars,javadocs,docs">
<mkdir dir="${dist.dir}"/>
<copy file="${build.lib}/avalonapi.jar" tofile="${dist.dir}/${dist.name}.jar"/>
<mkdir dir="${dist.docs}"/>
<mkdir dir="${dist.javadocs}"/>
<copy todir="${dist.docs}">
<fileset dir="${build.docs}"/>
</copy>
<copy todir="${dist.javadocs}">
<fileset dir="${build.javadocs}"/>
</copy>
<copy todir="${dist.dir}">
<fileset dir=".">
<include name="README"/>
<include name="WARNING"/>
</fileset>
</copy>
<chmod dir="${dist.dir}" perm="go-rwx" />
<zip zipfile="${dist.name}-bin.zip" basedir="${dist.dir}/.." includes="${dist.dir}/**"/>
<tar tarfile="${dist.name}-bin.tar" basedir="${dist.dir}/.." includes="${dist.dir}/**"/>
<gzip zipfile="${dist.name}-bin.tar.gz" src="${dist.name}-bin.tar"/>
<delete file="${dist.name}-bin.tar"/>
</target>
<!--
===================================================================
Create the source distribution
===================================================================
-->
<target name="src-dist" depends="docs,setup-properties">
<mkdir dir="${src.dist.dir}" />
<copy todir="${src.dist.tools}">
<fileset dir="${tools.dir}"/>
</copy>
<copy todir="${src.dist.lib}">
<fileset dir="${lib.dir}">
<include name="README" />
<include name="bytecode.jar" />
<include name="xerces.jar" />
</fileset>
</copy>
<copy todir="${src.dist.src}">
<fileset dir="${src.dir}"/>
</copy>
<copy todir="${src.dist.docs}">
<fileset dir="${build.docs}"/>
</copy>
<copy todir="${src.dist.javadocs}">
<fileset dir="${build.javadocs}"/>
</copy>
<copy todir="${src.dist.dir}">
<fileset dir=".">
<include name="README"/>
<include name="WARNING"/>
<include name="build.bat"/>
<include name="build.sh"/>
<include name="build.xml"/>
</fileset>
</copy>
<fixcrlf srcdir="${src.dist.dir}" includes="build.sh" cr="remove"/>
<fixcrlf srcdir="${src.dist.dir}" includes="build.bat" cr="add"/>
<chmod perm="+x">
<fileset dir="${src.dist.dir}">
<include name="build.sh" />
</fileset>
</chmod>
<fixcrlf srcdir="${src.dist.src}/java" includes="**/*.java" cr="remove"/>
<chmod dir="${src.dist.dir}" perm="go-rwx" />
<zip zipfile="${dist.name}-src.zip"
basedir="${src.dist.dir}/.."
includes="${src.dist.dir}/**"/>
<delete dir="${src.dist.dir}" />
</target>
<!--
===================================================================
Completely build all dists
===================================================================
-->
<target name="full-dist">
<antcall target="src-dist">
<param name="src.dist.dir" value="${dist.name}" />
</antcall>
<antcall target="dist">
<param name="dist.dir" value="${dist.name}" />
</antcall>
<delete dir="${dist.name}" />
</target>
<!--
===================================================================
Cleans up build and distribution directories
===================================================================
-->
<target name="clean" depends="setup-properties">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
<delete>
<fileset dir="." includes="**/*~" defaultexcludes="no"/>
</delete>
</target>
<!--
===================================================================
Cleans absolutely everything up
===================================================================
-->
<target name="real-clean" depends="clean">
<delete dir="${docs.dir}" />
<delete file="${dist.name}-bin.tar.gz" />
<delete file="${dist.name}-bin.zip" />
<delete file="${dist.name}-src.zip" />
</target>
</project>
1.1 jakarta-avalon/proposal/4.0/build.sh
Index: build.sh
===================================================================
#!/bin/sh
echo
echo "Avalon Build System"
echo "-------------------"
export CLASSPATH=`echo $PWD/lib/*.jar | tr ' ' ':'`
chmod u+x ./tools/bin/antRun
chmod u+x ./tools/bin/ant
unset ANT_HOME
$PWD/tools/bin/ant -logger org.apache.tools.ant.NoBannerLogger -emacs $@
1.1 jakarta-avalon/proposal/4.0/build.bat
Index: build.bat
===================================================================
@echo off
echo -------------------
echo Avalon Build System
echo -------------------
set ANT_HOME=..\..\tools
set LOCALCLASSPATH=
for %%i in (..\..\lib\*.jar) do call %ANT_HOME%\bin\lcp.bat %%i
set CLASSPATH=%LOCALCLASSPATH%
set LOCALCLASSPATH=
:runAnt
%ANT_HOME%\bin\ant.bat -logger org.apache.tools.ant.NoBannerLogger -emacs %1 %2 %3 %4 %5 %6 %7 %8
set ANT_HOME=
set CLASSPATH=