tomdz       2005/01/25 13:12:30

  Modified:    .        build.xml
  Log:
  Simplified and enhanced environment check for building OJB
  Removed the need for j2ee.jar in most cases (the geronimo jars are now used 
during compilation whenever possible)
  Applied patch from 1.0-stable branch concerning the lock-servlet war
  
  Revision  Changes    Path
  1.162     +109 -81   db-ojb/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/db-ojb/build.xml,v
  retrieving revision 1.161
  retrieving revision 1.162
  diff -u -r1.161 -r1.162
  --- build.xml 15 Jan 2005 13:51:32 -0000      1.161
  +++ build.xml 25 Jan 2005 21:12:30 -0000      1.162
  @@ -69,70 +69,118 @@
       <!-- ================================================================== 
-->
       <!-- I N I T                                                            
-->
       <!-- ================================================================== 
-->
  -    <target name="init" depends="set-archive-name,set-archive-name-date,
  -                                                      use-jdk12, use-jdk13, 
use-jdk14">
  -        <available property="junit.present" 
classname="junit.framework.TestCase"/>
  -        <condition property="j2ee.classes">
  -          <and>
  -            <available classname="javax.transaction.Transaction" 
classpathref="compilation-classpath"/>
  -            <available classname="javax.servlet.Servlet" 
classpathref="compilation-classpath"/>
  -            <available classname="javax.ejb.SessionBean" 
classpathref="compilation-classpath"/>
  -          </and>
  -        </condition>
  -        <condition property="jdo.classes">
  -          <and>
  -            <available classname="javax.jdo.PersistenceManager" 
classpathref="compilation-classpath"/>
  -          </and>
  -        </condition>
  -        <condition property="jdori.classes">
  -          <and>
  -            <available classname="com.sun.jdori.enhancer.Main" 
classpathref="compilation-classpath"/>
  -            <available classname="com.sun.jdori.FieldManager" 
classpathref="compilation-classpath"/>
  -          </and>
  -        </condition>
  +    <target name="init"
  +         depends="environment-check,
  +                  set-archive-name,
  +                  set-archive-name-date,
  +                  use-jdk12, use-jdk13, use-jdk14, use-jdk15"/>
  +
  +    <target name="detect-jdk">
  +     <condition property="jdk-12">
  +             <equals arg1="${ant.java.version}" arg2="1.2" />
  +             </condition>
  +     <condition property="jdk-13">
  +             <equals arg1="${ant.java.version}" arg2="1.3" />
  +             </condition>
  +     <condition property="jdk-14">
  +             <equals arg1="${ant.java.version}" arg2="1.4" />
  +             </condition>
  +     <condition property="jdk-15">
  +             <equals arg1="${ant.java.version}" arg2="1.5" />
  +             </condition>
       </target>
   
  -    <target name="use-jdk12" if="jdk-12" depends="detect-jdk, 
check-jdk12proxy-classes, check-jndi-classes">
  +    <target name="environment-check" depends="detect-jdk">
  +             <fail message="Please set the ANT_HOME environment variable to 
the root of your Ant installation.">
  +                     <condition>
  +                             <not>
  +                                     <isset property="env.ANT_HOME"/>
  +                             </not>
  +                     </condition>
  +             </fail>
  +             <fail message="Please set the FORREST_HOME environment variable 
to the root of your Forrest installation. If you don't have yet installed 
Forrest, you can get it from http://forrest.apache.org.";>
  +                     <condition>
  +                             <not>
  +                                     <isset property="env.FORREST_HOME"/>
  +                             </not>
  +                     </condition>
  +             </fail>
  +             <fail message="Please make JUnit available in the classpath, 
e.g. by copying the junit.jar from OJB's lib subdirectory into the lib 
subdirectory of your Ant installation (${env.ANT_HOME}/lib).">
  +                     <condition>
  +                             <not>
  +                         <available classname="junit.framework.TestCase"/>
  +                             </not>
  +                     </condition>
  +             </fail>
  +             <fail message="Please make the Apache XML Commons Resolver 
library available in the classpath, e.g. by copying the xml-commons-resolver 
jar file from the 'tools/ant/lib' subdirectory of your Forrest installation 
(${env.FORREST_HOME}/tools/ant/lib) into the lib subdirectory of your Ant 
installation (${env.ANT_HOME}/lib).">
  +                     <condition>
  +                             <not>
  +                         <available 
classname="org.apache.xml.resolver.Resolver"/>
  +                             </not>
  +                     </condition>
  +             </fail>
  +             <fail message="Please download the JDO 1.0.1 reference 
implementation from http://jcp.org/aboutJava/communityprocess/final/jsr012 and 
copy the jdo.jar, jdori.jar and jdori-enhancer.jar into OJB's lib directory.">
  +             <condition>
  +                     <not>
  +                     <and>
  +                             <!-- We're checking for a class that is not 
available in JDO 1.0.0 -->
  +                             <available 
classname="javax.jdo.JDOObjectNotFoundException"
  +                                        
classpathref="compilation-classpath"/>
  +                             <available 
classname="com.sun.jdori.enhancer.Main"
  +                                                
classpathref="compilation-classpath"/>
  +                             <available 
classname="com.sun.jdori.FieldManager"
  +                                                
classpathref="compilation-classpath"/>
  +                     </and>
  +                     </not>
  +             </condition>
  +             </fail>
  +             <fail message="In order to compile OJB with JDK 1.2 you need to 
download cglib from http://cglib.sourceforge.net and put the jar into OJB's lib 
folder.">
  +             <condition>
  +                     <and>
  +                         <isset property="jdk-12"/>
  +                             <not>
  +                             <available classname="net.sf.cglib.proxy.Proxy"
  +                                            
classpathref="compilation-classpath"/>
  +                             </not>
  +                     </and>
  +             </condition>
  +         </fail>
  +             <fail message="Please make the JNDI classes (javax.naming.*) 
available in your classpath. Download them from 
http://java.sun.com/products/jndi/downloads/index.html and copy the jndi.jar 
into OJB's lib directory.">
  +             <condition>
  +                     <not>
  +                     <available classname="javax.naming.InitialContext"
  +                                    classpathref="compilation-classpath"/>
  +                     </not>
  +             </condition>
  +         </fail>
  +     </target>
  +
  +    <target name="use-jdk12" if="jdk-12">
        <property name="JDK" value="-JDK13"/>
        <property name="JDBC" value="-JDBC30"/>
        <property name="excludes" value="org/apache/ojb/tools/mapping/**"/>
        <echo message="detected JDK 1.2"/>
       </target>
   
  -    <target name="use-jdk13" if="jdk-13" depends="detect-jdk">
  +    <target name="use-jdk13" if="jdk-13">
        <property name="JDK" value="+JDK13"/>
        <property name="JDBC" value="-JDBC30"/>
        <property name="excludes" value=""/>
        <echo message="detected JDK 1.3"/>
       </target>
   
  -    <target name="use-jdk14" if="jdk-14" depends="detect-jdk">
  +    <target name="use-jdk14" if="jdk-14">
        <property name="JDK" value="+JDK13"/>
        <property name="JDBC" value="+JDBC30"/>
        <property name="excludes" value=""/>
        <echo message="detected JDK 1.4"/>
       </target>
   
  -    <target name="detect-jdk">
  -     <condition property="jdk-12">
  -             <equals arg1="${ant.java.version}" arg2="1.2" />
  -             </condition>
  -     <condition property="jdk-13">
  -             <equals arg1="${ant.java.version}" arg2="1.3" />
  -             </condition>
  -     <condition property="jdk-14">
  -             <equals arg1="${ant.java.version}" arg2="1.4" />
  -             </condition>
  -        <condition property="jndi.classes">
  -          <and>
  -            <available classname="javax.naming.InitialContext" 
classpathref="compilation-classpath"/>
  -          </and>
  -        </condition>
  -        <condition property="jdk12proxy.classes">
  -          <and>
  -            <available classname="com.develop.java.lang.reflect.Proxy" 
classpathref="compilation-classpath"/>
  -          </and>
  -        </condition>
  +    <target name="use-jdk15" if="jdk-15">
  +     <property name="JDK" value="+JDK13"/>
  +     <property name="JDBC" value="+JDBC30"/>
  +     <property name="excludes" value=""/>
  +     <echo message="detected JDK 1.5"/>
       </target>
   
       <target name="set-archive-name-date" if="useDate">
  @@ -218,32 +266,9 @@
   
   
       <!-- ================================================================== 
-->
  -    <!-- auxilliary targets that verify that non-ditributable jars          
-->
  -    <!-- are present on the classpath.                                      
-->
  -    <!-- ================================================================== 
-->
  -    <target name="check-j2ee-classes" unless="j2ee.classes">
  -       <fail>j2ee.jar is missing! Please get it from 
http://java.sun.com/j2ee/. Put it in lib or have the ant property j2ee.jars 
point at this jar file.</fail>
  -    </target>
  -    <target name="check-jdo-classes" unless="jdo.classes">
  -       <fail>jdo.jar is missing! Please get it from 
http://java.sun.com/products/jdo. Put it in lib or have the ant property 
jdo.jars point at this jar file.</fail>
  -    </target>
  -    <target name="check-jdori-classes" unless="jdori.classes">
  -       <fail>jdori.jar is missing! Please get it from 
http://java.sun.com/products/jdo. Put it in lib or have the ant property 
jdo.jars point at this jar file.</fail>
  -    </target>
  -    <target name="check-jndi-classes" if="jdk-12" unless="jndi.classes">
  -       <fail>jndi.jar is missing! Please get it from http://java.sun.com/. 
Put it in the lib directory.</fail>
  -    </target>
  -    <target name="check-jdk12proxy-classes" if="jdk-12" 
unless="jdk12proxy.classes">
  -       <fail>proxy.jar is missing! Please get it from 
http://sf.net/projects/objectbridge/. Put it in the lib directory.</fail>
  -    </target>
  -
  -
  -
  -
  -    <!-- ================================================================== 
-->
       <!-- Build all the sources with debug and deprecation                   
-->
       <!-- ================================================================== 
-->
  -    <target name="main" depends="prepare, check-j2ee-classes, 
check-jdo-classes, preprocess"
  +    <target name="main" depends="prepare, preprocess"
               description="Compile all Java sources with debugging on.">
           <javac srcdir="${build.src}" destdir="${build.dest}" 
excludes="${excludes}"
                  debug="on" debuglevel="source,lines,vars" 
deprecation="${deprecation}">
  @@ -260,7 +285,7 @@
       </target>
   
       <!-- include OJB JDORI implementation -->
  -    <target name="with-jdori" depends="prepare, check-jdo-classes, 
check-jdori-classes"
  +    <target name="with-jdori" depends="prepare"
               description="Compile OJB JDORI">
                <copy todir="${build.src}">
               <fileset dir="${src.dir}/jdori"/>
  @@ -554,35 +579,38 @@
       <!-- ================================================================== 
-->
       <target name="lockservlet-war" depends="jar, prepare-testdb"
               description="Builds The Lockserver servlet for deployment in 
tomcat">
  +
  +        <property name="build.servlet" value="${build.dir}/lock-servlet"/>
  +
           <delete file="${dist}/ojb-lockserver.war"/>
  -        <delete dir="${build.dir}/WEB-INF" verbose="false"/>
  -        <mkdir dir="${build.dir}/WEB-INF/classes"/>
  -        <mkdir dir="${build.dir}/WEB-INF/lib"/>
  +        <delete dir="${build.servlet}/WEB-INF" verbose="false"/>
  +        <mkdir dir="${build.servlet}/WEB-INF/classes"/>
  +        <mkdir dir="${build.servlet}/WEB-INF/lib"/>
   
           <!-- 1. apache-ojb-xxx.jar -->
  -        <copy file="${dist}/${archive}.jar" 
todir="${build.dir}/WEB-INF/lib"/>
  +        <copy file="${dist}/${archive}.jar" 
todir="${build.servlet}/WEB-INF/lib"/>
   
           <!-- 2. OJB.properties and repository*.* files -->
  -        <copy todir="${build.dir}/WEB-INF/classes">
  +        <copy todir="${build.servlet}/WEB-INF/classes">
               <fileset dir="${build.test}/ojb" 
includes="*.properties,*.dtd,*.xml"/>
           </copy>
   
  -        <copy todir="${build.dir}/WEB-INF">
  +        <copy todir="${build.servlet}/WEB-INF">
               <fileset dir="${build.srctest}/org/apache/ojb" 
includes="web.xml"/>
           </copy>
   
           <!-- 3. additional jar files -->
  -        <copy todir="${build.dir}/WEB-INF/lib">
  +        <copy todir="${build.servlet}/WEB-INF/lib">
               <fileset dir="${lib}">
  -              <include name="log4j-1.2.8.jar"/>
  -                       <include name="commons-logging.jar"/>
  -                       <include name="commons-lang-2.0.jar"/>
  +              <include name="log4j*.jar"/>
  +                       <include name="commons-logging*.jar"/>
  +                       <include name="commons-lang*.jar"/>
               </fileset>
           </copy>
   
   
                <!-- 4. the business code, that is our servlet-->
  -        <copy todir="${build.dir}/WEB-INF/classes">
  +        <copy todir="${build.servlet}/WEB-INF/classes">
               <fileset dir="${build.dest}" 
includes="org/apache/ojb/odmg/locking/**"/>
           </copy>
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to