You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by mc...@apache.org on 2004/07/07 21:41:11 UTC

cvs commit: james-server gump.xml

mcconnell    2004/07/07 12:41:11

  Added:       .        gump.xml
  Log:
  Setup of a buildfile that simples establishes the mailet api, implo and james server imp jar files independency of any container concerns.  This is sufficient to move the focus over to gump to get a clean output.
  
  Revision  Changes    Path
  1.1                  james-server/gump.xml
  
  Index: gump.xml
  ===================================================================
  <?xml version="1.0"?>
    <!DOCTYPE project [
      <!ENTITY check-targets SYSTEM "file:check-targets.ent">
    ]>
  
  <project default="jar" basedir=".">
  
      <!--
      ===================================================================
      Set the properties for proposal directories
      ===================================================================
      -->
  
      <property name="src.dir" value="src"/>
      <property name="java.dir" value="${src.dir}/java"/>
      <property name="target.dir" value="target"/>
      <property name="build.dir" value="${target.dir}/build"/>
      <property name="build.src.dir" value="${build.dir}/src"/>
      <property name="build.src.java.dir" value="${build.src.dir}/java"/>
      <property name="deliverables.dir" value="${target.dir}/deliverables"/>
      <property name="jars.dir" value="${deliverables.dir}/jars"/>
      <property name="classes.dir" value="${target.dir}/classes"/>
  
      <property name="build-version" value="CLEAN-BUILD"/>
      <property name="server-build-version" value="${build-version}"/>
      <property name="mailet-build-version" value="${build-version}"/>
  
      <property name="Name" value="James Mail Server"/>
      <property name="constants.filename" value="org/apache/james/Constants.java"/>
      <property name="poolconn.filename" value="org/apache/james/util/mordred/PoolConnEntry.java"/>
  
      <property name="debug" value="on"/>
      <property name="optimize" value="on"/>
      <property name="deprecation" value="on"/>
  
      <!--
      ===================================================================
      Prepare-common target - common tasks executed in preparation for
      all targets
      ===================================================================
      -->
      <target name="prepare-sources">
  
        <echo message="Preparing code"/>
  
        <tstamp/>
  
        <mkdir dir="${build.src.dir}"/>
        <mkdir dir="${jars.dir}"/>
  
        <available property="jdbc3.present" classname="java.sql.Savepoint"/>
  
        <copy todir="${deliverables.dir}">
          <fileset dir=".">
            <include name="LICENSE.txt"/>
            <include name="README"/>
          </fileset>
        </copy>
  
        <copy todir="${build.src.dir}">
          <fileset dir="${src.dir}">
            <include name="**/*.java"/>
            <include name="**/*.properties"/>
          </fileset>
        </copy>
        
        <fixcrlf srcdir="${build.src.dir}" includes="**/*.java" eol="lf" tab="remove" tablength="4" />
        <fixcrlf srcdir="${build.src.dir}" includes="**/*.minfo" eol="lf" tab="remove" tablength="4" />
        <fixcrlf srcdir="${build.src.dir}" includes="**/*.xinfo" eol="lf" tab="remove" tablength="4" />
        <fixcrlf srcdir="${build.src.dir}" includes="**/*.html" eol="lf" tab="remove" tablength="4" />
  
        <replace file="${build.src.java.dir}/${constants.filename}" token="@@VERSION@@" value="${version}"/>
        <replace file="${build.src.java.dir}/${constants.filename}" token="@@NAME@@" value="${Name}"/>
        <replace file="${build.src.java.dir}/${constants.filename}" token="@@DATE@@" value="${TODAY}"/>
  
      </target>
      
      <!--
      ===================================================================
                                     jdbc3
      ===================================================================
      -->
      <target name="prepare-jdbc3" depends="prepare-sources" if="jdbc3.present">
          <echo message="JDBC v3 in classpath - making code JDBC 3.0 compliant"/>
          <replace file="${build.src.java.dir}/${poolconn.filename}" token="/* JDBC_3_ANT_KEY" value=""/>
          <replace file="${build.src.java.dir}/${poolconn.filename}" token="JDBC_3_ANT_KEY */" value=""/>
      </target>
  
      <!--
      ===================================================================
                                    Prepare target
      ===================================================================
      -->
      <target name="prepare" depends="prepare-sources,prepare-jdbc3"/>
  
      <!--
      ===================================================================
                                    compile
      ===================================================================
      -->
      <target name="compile" depends="prepare">
        <echo message="Compiling James Java sources"/>
        <available property="jndi.present" classname="javax.naming.InitialContext"/>
        <mkdir dir="${classes.dir}"/>
        <javac destdir="${classes.dir}" 
            debug="${debug}" optimize="${optimize}" deprecation="${deprecation}">
          <src path="${build.src.java.dir}"/>
          <exclude name="org/apache/james/userrepository/UsersLDAPRepository.java" 
            unless="jndi.present"/>
        </javac>
        <copy todir="${build.classes}">
          <fileset dir="${java.dir}">
            <include name="**/*.properties"/>
            <include name="**/*.xinfo"/>
            <include name="**/*.mxinfo"/>
          </fileset>
        </copy>
      </target>
  
      <target name="jar" depends="jar-mailet-api,jar-mailet-impl,jar-server-impl"/>
  
      <target name="jar-mailet-api" depends="compile">
        <echo message="Making Mailet API Jar"/>
        <mkdir dir="${jars.dir}"/>
        <jar jarfile="${jars.dir}/mailet-api-${mailet-build-version}.jar"
           basedir="${classes.dir}"
           includes="org/apache/mailet/Mailet.class,org/apache/mailet/MailetConfig.class,org/apache/mailet/Mail.class,org/apache/mailet/MailetContext.class,org/apache/mailet/MailAddress.class,org/apache/mailet/MailRepository,org/apache/mailet/SpoolRepository,org/apache/mailet/UserRepository,org/apache/mailet/Datasource,org/apache/mailet/User,org/apache/mailet/MailetException"/>
      </target>
  
      <target name="jar-mailet-impl" depends="compile">
        <echo message="Making Mailet Jar"/>
        <jar jarfile="${jars.dir}/mailet-${mailet-build-version}.jar"
           basedir="${classes.dir}"
           includes="org/apache/mailet/**"
           excludes="org/apache/mailet/Mailet.class,org/apache/mailet/MailetConfig.class,org/apache/mailet/Mail.class,org/apache/mailet/MailetContext.class,org/apache/mailet/MailAddress.class,org/apache/mailet/MailRepository,org/apache/mailet/SpoolRepository,org/apache/mailet/UserRepository,org/apache/mailet/Datasource,org/apache/mailet/User,org/apache/mailet/MailetException"/>
      </target>
  
      <target name="jar-server-impl" depends="compile">
        <echo message="Making James Jar"/>
        <jar jarfile="${jars.dir}/james-${server-version}.jar" 
            basedir="${classes.dir}" manifest="${src.dir}/Manifest.mf">
          <include name="org/apache/james/**"/>
        </jar>
      </target>
  
      <!--
      ===================================================================
      clean
      ===================================================================
      -->
      <target name="clean">
          <echo message ="deleting working directories ready for a clean build"/>
          <delete dir="${target.dir}"/>
      </target>
  
  </project>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org