krysalis-version build.xml,NONE,1.1

[email protected] Wed, 16 Apr 2003 00:44:25 -0700
Newsgroups gmane.comp.krysalis.sandbox
Message-ID <[email protected]>
Update of /cvsroot/metamorphosis/krysalis-version
In directory sc8-pr-cvs1:/tmp/cvs-serv13509

Added Files:
	build.xml 
Log Message:
Added a build.xml so we can bootstrap with only ant.

--- NEW FILE: build.xml ---
<?xml version="1.0"?>

<!--
==============================================================================

 Default build file

 - Use .ant.properties and/or ${user.home}/.ant.properties
   to do specialization for the developer

 @author   D. Bernarcdwayne ([email protected])
 @version  1.0.9

- TODO : copy licences files
==============================================================================
-->

<project name="krysalis-version" default="jar" basedir=".">

  <!--
  The developer/user can override properties (optionnal)
  without editing this file. To do this, he define properties in files :
    - build.properties : common file to all developper, used to avoid edit build.xml
    - .ant.properties : properties specific to this project (not shared by developer)
    - ${user.home}/.ant.properties" : properties share by all project of the developer
  All properties can be overridden (name, version, build.compiler, ...)
  Somes are only defined in a complementary properties file :
    - webapps.home : destination directory where deploy web application (war...)
  -->
  <property file="build.properties"/>
  <property file=".ant.properties"/>
  <property file="${user.home}/.ant.properties"/>

  <property name="name" value="${ant.project.name}"/>
  <property name="Name" value="Ruper"/>
  <property name="vendor" value="Krysalis"/>
  <property name="url" value="http://krysalis.sourceforge.net/"/>
  <property name="version" value="0.6-dev1"/>
  <property name="year" value="2003"/>
  <property name="build.target" value="app"/>
  <!--
    these are here only for those who use jikes compiler. For other
    developers this part makes no difference.
  -->
  <!-- <property name="build.compiler" value="jikes"/> -->
  <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="on"/>
  <property name="optimize" value="off"/>
  <property name="deprecation" value="on"/>

  <property name="src" value="src"/>
  <property name="lib"  value="lib"/>
  <property name="build" value="build"/>
  <property name="dist"  value="dist"/>
  <property name="doc" value="doc"/>
  <property name="test" value="src/test"/>
  <property name="jars.dir" value="${centipede.home}/tools/jars"/>

  <property name="tool.home" value="${ant.home}"/>
  <property name="jdk.home" value="${java.home}/.."/>

  <fileset id="classes.run" dir="${lib}"/>
  <fileset id="classes.compile" dir="${lib}"/>

  <fileset id="classes.tool" dir="${tool.home}/lib"/>

  <fileset id="classes.jdk" dir="${jdk.home}/lib"/>

  <fileset id="src.java.all" dir="${src}">
    <include name="java/**/*.java" />
    <include name="test/**/*.java" />
  </fileset>

  <path id="classpath.compile">
    <fileset refid="classes.run"/>
    <fileset refid="classes.compile"/>
    <pathelement location="${jars.dir}/log4j/jars/log4j-1.2.7.jar"/>
    <pathelement location="${jars.dir}/commons-logging/jars/commons-logging-1.0.2.jar"/>
  </path>

  <path id="classpath.tool">
    <pathelement	location="${tool.home}/classes"/>
    <fileset refid="classes.tool"/>
    <fileset refid="classes.jdk"/>
  </path>

  <target name="main" depends="build"/>

  <target name="init" unless="initialize">
    <echo message="--------------------------------------------------------"/>
    <echo message="${Name} ${version} Build"/>
    <echo message="    Copyright ${year} ${vendor}"/>
    <echo message="--------------------------------------------------------"/>
    <echo message="Ant	            :	${ant.version}"/>
	<echo message="Ant File	        :	${ant.file}"/>
	<echo message="Ant Prj	        :	${ant.project.name}"/>
    <echo message="Ant Java	        :	${ant.java.version}"/>
    <echo message="Ant Home         :	${ant.home}"/>
    <echo message="--------------------------------------------------------"/>
    
    <property name="initialize" value="ok"/>
  </target>


  <!-- =================================================================== -->
  <!-- USAGE                                                               -->
  <!-- =================================================================== -->
  <target name="usage" depends="init">
    <echo message=""/>
    <echo message=" available targets are:"/>
    <echo message=""/>
    <echo message="  fetch      -> get the latest source from the cvs tree"/>
    <echo message="  build      -> do an 'incremental' build"/>
    <echo message="  test       -> build and run junit tests"/>
    <echo message="  doc        -> generates the documentation (api...)"/>
    <echo message="  dist       -> generates the ${Name} distribution"/>
    <echo message="  clean      -> cleans up the created directories"/>
    <echo message="  main       -> build, test"/>
    <echo message="  help*      -> print this message"/>
    <echo message=""/>
    <echo message="  debug-run  -> to run debugger"/>
    <echo message="  debug-test -> to run junit with remote debug actived"/>
    <echo message=""/>
    <echo message=". * : default target"/>
    <echo message="--------------------------------------------------------"/>
    <echo message=""/>
  </target>

  <target name="help" depends="usage"/>


  <!-- =================================================================== -->
  <!-- CVS                                                                 -->
  <!-- =================================================================== -->
  <target name="fetch" depends="init">
    <cvs command="-z 9 update -AdP"/>
  </target>

  <target name="commit" depends="fetch, build">
    <cvs command="-z 9 commit"/>
  </target>

  <!-- =================================================================== -->
  <!-- BUILD                                                               -->
  <!-- =================================================================== -->
  <target name="build">
   <antcall target="${build.target}" inheritRefs="true" inheritAll="true"/>
  </target>

  <target name="build-init" depends="init">
    <mkdir dir="${build}"/>
    <mkdir dir="${build}/classes"/>
    <property name="src.java" value="${src}/main"/>
  </target>

  <!-- Compile app java sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  -->
  <target name="compile" depends="build-init">
  	<echo message="src.java = ${src.java}"/>
  	<echoproperties/>
    <javac srcdir="src/java"
      destdir="${build}/classes"
      debug="${debug}"
      optimize="${optimize}"
      deprecation="${deprecation}"
    >
    <classpath refid="classpath.compile"/>
	</javac>    
  </target>

  <!-- Build final jar = code + resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  -->
  <target name="jar" depends="compile">
    <jar jarfile="${build}/${name}-${version}.jar"
         basedir="${build}/classes"
    >
      <exclude name="**/_index.txt"/>
    </jar>
  </target>



  <!-- =================================================================== -->
  <!-- CLEAN                                                               -->
  <!-- =================================================================== -->
  <target name="clean">
    <delete dir="${build}"/>
    <!--<delete dir="${dist}"/>-->
    <delete dir="${doc}/api"/>
    <delete dir="${doc}/test"/>
  </target>

</project>

<!--
$Id: build.xml,v 1.1 2003/04/16 07:44:23 chalko Exp $


-->





-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf