cmlenz      02/03/21 09:00:51

  Modified:    .        build.xml
  Log:
  Some cleanup to our build file (I'll revert if someone objects, of course
  ;)):
  - output from the 'detect' tag should be much better readable for humans,
    by using actual names for libraries and more prettyprint formatting.
  - added a 'detect.fail' task, which will be called from 'detect'. this
    task will cause the whole build to fail if a required dependancy can't
    be resolved. motivation: fail early rather than somewhere during
    compilation.
  - added descriptions for important targets.
  
  Revision  Changes    Path
  1.154     +115 -81   jakarta-slide/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/build.xml,v
  retrieving revision 1.153
  retrieving revision 1.154
  diff -u -r1.153 -r1.154
  --- build.xml 18 Mar 2002 12:03:49 -0000      1.153
  +++ build.xml 21 Mar 2002 17:00:51 -0000      1.154
  @@ -35,7 +35,6 @@
     <!-- =================================================================== -->
     <!-- Dependencies Properties                                             -->
     <!-- =================================================================== -->
  -  <property name="catalina.dist"         value="../jakarta-tomcat-4.0/dist" />
     <property name="servlet.home"
               value="../jakarta-servletapi/" />
     <property name="servlet.jar"
  @@ -59,13 +58,14 @@
     <property name="commons-dbcp.jar"      value="./lib/commons-dbcp.jar"/>
     <property name="commons-pool.jar"      value="./lib/commons-pool.jar"/>
     <property name="commons-modeler.jar"   value="./lib/commons-modeler.jar"/>
  +  <property name="catalina.dist"         value="../jakarta-tomcat-4.0/dist" />
     <property name="naming.jar"
               value="${catalina.dist}/common/lib/naming-common.jar"/>
     <property name="resources.jar"
               value="${catalina.dist}/common/lib/naming-resources.jar"/>
     <property name="catalina.jar"
               value="${catalina.dist}/server/lib/catalina.jar"/>
  -  <property name="struts.home"           value="."/>
  +  <property name="struts.home"           value="../jakarta-struts/dist"/>
     <property name="struts.jar"
               value="${struts.home}/lib/struts.jar"/>
     <property name="jstl.home"
  @@ -283,8 +283,11 @@
     <!-- =================================================================== -->
     <!-- Detect                                                              -->
     <!-- =================================================================== -->
  -  <target name="detect">
  +  <target name="detect" depends="detect.display,detect.fail"
  +   description="Display configuration and conditional compilation flags">
  +  </target>
   
  +  <target name="detect.display">
       <available property="servlet.present"
        classname="javax.servlet.Servlet"
        classpath="${servlet.jar}" />
  @@ -361,68 +364,93 @@
        classname="javax.sql.DataSource"
        classpath="${jdbc20ext.jar}" />
   
  -    <echo message="--- Build environment for ${final.name} ---" />
  -
  -    <echo message="--- Flags (Note: If the {property name} is displayed, then the 
component is not present)" />
  -
  -    <echo message="--- Required Libraries ---" />
  -
  -    <echo message="servlet.present (must be present) = ${servlet.present}" />
  -    <echo message="jaxp10.present (must be present) = ${jaxp10.present}" />
  -    <echo message="jdom.present (must be present) = ${jdom.present}" />
  -    <echo message="dom.present (must be present) = ${dom.present}" />
  -    <echo message="sax.present (must be present) = ${sax.present}" />
  -    <echo message="jta.present (must be present) = ${jta.present}" />
  -    <echo message="httpclient.present (must be present) = ${httpclient.present}" />
  -    <echo message="antlr.present (must be present) = ${antlr.present}" />
  -
  -    <echo message="--- Optional Libraries ---" />
  -
  -    <echo message="servlet23.present (optional) = ${servlet23.present}" />
  -    <echo message="jaxp11.present (optional) = ${jaxp11.present}" />
  -    <echo message="jmx.present (optional) = ${jmx.present}" />
  -    <echo message="modeler.present (optional) = ${modeler.present}" />
  -    <echo message="ant.present (optional) = ${ant.present}" />
  -    <echo message="junit.present (optional) = ${junit.present}" />
  -    <echo message="tomcat41.present (optional) = ${catalina.present}" />
  -    <echo message="xsl.present (optional) = ${xsl.present}" />
  -    <echo message="log4j.present (optional) = ${log4j.present}" />
  -    <echo message="jndi.present (optional) = ${jndi.present}" />
  -    <echo message="naming.present (optional) = ${naming.present}" />
  -    <echo message="resources.present (optional) = ${resources.present}" />
  -    <echo message="struts.present (optional) = ${struts.present}" />
  -    <echo message="jstl.present (optional) = ${jstl.present}" />
  -    <echo message="jdbc20ext.present (optional) = ${jdbc20ext.present}" />
  -
  -    <echo message="--- Property values" />
  -
  -    <echo message="ant.home=${ant.home}" />
  -    <echo message="catalina.dist=${catalina.dist}" />
  -    <echo message="servlet.jar=${servlet.jar}" />
  -    <echo message="jaxp.home=${jaxp.home}" />
  -    <echo message="jaxp.jar=${jaxp.jar}" />
  -    <echo message="xmlapi.jar=${xmlapi.jar}" />
  -    <echo message="xmlparser.jar=${xmlparser.jar}" />
  -    <echo message="jmx.home=${jmx.home}" />
  -    <echo message="jmx.jar=${jmx.jar}" />
  -    <echo message="junit.jar=${junit.jar}" />
  -    <echo message="log4j.jar=${log4j.jar}" />
  -    <echo message="jta.jar=${jta.jar}" />
  -    <echo message="catalina.jar=${catalina.jar}" />
  -    <echo message="resources.jar=${resources.jar}" />
  -    <echo message="naming.jar=${naming.jar}" />
  -    <echo message="commons-httpclient.jar=${commons-httpclient.jar}" />
  -    <echo message="tomcat.build=${tomcat.build}" />
  -    <echo message="struts.jar=${struts.jar}" />
  -    <echo message="jstl.jar=${jstl.jar}" />
  -    <echo message="slide.build=${slide.build}" />
  -    <echo message="slide.dist=${slide.dist}" />
  -    <echo message="webapp.dist=${webapp.dist}" />
  -    <echo message="slide.release=${slide.release}" />
  -    <echo message="slide.archive=${slide.archive}" />
  -    <echo message="webdavclient.build=${webdavclient.build}" />
  -    <echo message="webdavclient.dist=${webdavclient.dist}" />
  -
  +    <echo message="+-------------------------------------------------------" />
  +    <echo message="| Build environment for ${name} ${version}" />
  +    <echo message="| " />
  +    <echo message="| Note: " />
  +    <echo message="|   If ${property.name} is displayed for a library " />
  +    <echo message="|   instead of 'true', that library is not present." />
  +    <echo message="+-------------------------------------------------------" />
  +    <echo message="" />
  +    <echo message="Build options:" />
  +    <echo message="  Generate debugging info       ${compile.debug}" />
  +    <echo message="  Display deprecation info      ${compile.deprecation}" />
  +    <echo message="  Optimize                      ${compile.optimize}" />
  +    <echo message="  Build directory               ${slide.build}" />
  +    <echo message="  Distribution directory        ${slide.dist}" />
  +    <echo message="  Distribution archive name     ${slide.archive}" />
  +    <echo message="" />
  +    <echo message="Required Libraries:" />
  +    <echo message="  Servlet API (2.2 or later)    ${servlet.present}" />
  +    <echo message="  JAXP (1.0 or later)           ${jaxp10.present}" />
  +    <echo message="  XML DOM Level 2 API           ${dom.present}" />
  +    <echo message="  XML SAX 2 API                 ${sax.present}" />
  +    <echo message="  Java Transaction API          ${jta.present}" />
  +    <echo message="  JDOM (beta 7 or later)        ${jdom.present}" />
  +    <!-- echo message="  Commons-Httpclient            ${httpclient.present}" / -->
  +    <echo message="  ANTLR                         ${antlr.present}" />
  +    <echo message="" />
  +    <echo message="Optional Libraries:" />
  +    <echo message="  Servlet API 2.3               ${servlet23.present}" />
  +    <echo message="  JAXP 1.1                      ${jaxp11.present}" />
  +    <echo message="  JDBC 2.0 optional package     ${jdbc20ext.present}" />
  +    <echo message="  JMX                           ${jmx.present}" />
  +    <echo message="  Commons-Modeler               ${modeler.present}" />
  +    <echo message="  Ant                           ${ant.present}" />
  +    <echo message="  Ant &lt;style&gt;-task              ${xsl.present}" />
  +    <echo message="  JUnit                         ${junit.present}" />
  +    <echo message="  Log4J                         ${log4j.present}" />
  +    <echo message="  JNDI                          ${jndi.present}" />
  +    <echo message="  Struts (1.0 or later)         ${struts.present}" />
  +    <echo message="  JSTL (beta 1 or later)        ${jstl.present}" />
  +    <echo message="  Tomcat (4.1-dev)              ${catalina.present}" />
  +    <echo message="  Tomcat naming.jar             ${naming.present}" />
  +    <echo message="  Tomcat resources.jar          ${resources.present}" />
  +    <echo message="" />
  +    <echo message="Library Locations:" />
  +    <echo message="  Servlet API jar               ${servlet.jar}" />
  +    <echo message="  JAXP jar                      ${jaxp.jar}" />
  +    <echo message="  XML DOM/SAX2 APIs jar         ${xmlapi.jar}" />
  +    <echo message="  XML Parser jar                ${xmlparser.jar}" />
  +    <echo message="  JTA jar                       ${jta.jar}" />
  +    <echo message="  JDOM jar                      ${jdom.jar}" />
  +    <!-- echo message="  Commons-Httpclient jar        ${commons-httpclient.jar}" / 
-->
  +    <echo message="  ANTLR jar                     ${antlr.jar}" />
  +    <echo message="  JDBC 2.0 optional package jar ${jdbc20ext.jar}" />
  +    <echo message="  JMX jar                       ${jmx.jar}" />
  +    <echo message="  Commons-Modeler jar           ${commons-modeler.jar}" />
  +    <echo message="  Ant jar                       ${ant.jar}" />
  +    <echo message="  JUnit jar                     ${junit.jar}" />
  +    <echo message="  Log4J jar                     ${log4j.jar}" />
  +    <echo message="  JNDI jar                      ${jndi.jar}" />
  +    <echo message="  Struts jar                    ${struts.jar}" />
  +    <echo message="  JSTL implementation jar       ${jstl.jar}" />
  +    <echo message="  Tomcat 4 build directory      ${tomcat.build}" />
  +    <echo message="  Tomcat 4 dist directory       ${catalina.dist}" />
  +    <echo message="  Tomcat 4 catalina.jar         ${catalina.jar}" />
  +    <echo message="  Tomcat 4 resources.jar        ${resources.jar}" />
  +    <echo message="  Tomcat 4 naming.jar           ${naming.jar}" />
  +
  +    <condition property="required.present">
  +      <and>
  +        <equals arg1="${servlet.present}" arg2="true"/>
  +        <equals arg1="${jaxp10.present}" arg2="true"/>
  +        <equals arg1="${jdom.present}" arg2="true"/>
  +        <equals arg1="${dom.present}" arg2="true"/>
  +        <equals arg1="${sax.present}" arg2="true"/>
  +        <equals arg1="${jta.present}" arg2="true"/>
  +        <!-- equals arg1="${httpclient.present}" arg2="true"/ -->
  +        <equals arg1="${antlr.present}" arg2="true"/>
  +      </and>
  +    </condition>
  +    
  +  </target>
  +
  +  <target name="detect.fail" unless="required.present">
  +    <fail message="Failed dependancy">
  +      One or more required libraries could not be found.
  +      Please check your build.propertes file.
  +    </fail>
     </target>
   
   
  @@ -472,7 +500,8 @@
     <!-- =================================================================== -->
     <!-- Build All : Main, Doc and JavaDoc                                   -->
     <!-- =================================================================== -->
  -  <target name="all" depends="clean,main,doc,javadoc"/>
  +  <target name="all" depends="clean,dist"
  +   description="Delete previous build and make core components distribution"/>
   
   
     <!-- =================================================================== -->
  @@ -557,7 +586,8 @@
     <!-- =================================================================== -->
     <!-- Build documentation                                                 -->
     <!-- =================================================================== -->
  -  <target name="doc" depends="prepare" if="xsl.present">
  +  <target name="doc" depends="prepare" if="xsl.present"
  +   description="Generate documentation/website">
   
       <style basedir="src/doc" destdir="${slide.build}/doc"
        extension=".html" style="src/doc/stylesheets/slide.xsl"
  @@ -739,8 +769,8 @@
     <!-- Build a DAV client distribution                                     -->
     <!-- =================================================================== -->
     <target name="webdav-client-dist"
  -    depends="webdav-client, webdav-client-dist-prepare,
  -      webdav-client-javadoc">
  +    depends="webdav-client, webdav-client-dist-prepare,webdav-client-javadoc"
  +    description="Build the WebDAV client library and command-line application">
   
       <copy todir="${webdavclient.dist}/bin">
         <fileset dir="${webdavclient.build}/bin">
  @@ -864,7 +894,8 @@
     <!-- =================================================================== -->
     <!-- Clean build and distribution directories                            -->
     <!-- =================================================================== -->
  -  <target name="clean">
  +  <target name="clean"
  +   description="Delete previous build">
       <delete dir="${slide.build}"/>
       <delete dir="${slide.dist}"/>
       <delete>
  @@ -879,7 +910,8 @@
     <!-- =================================================================== -->
     <!-- Build the Slide JavaDoc                                             -->
     <!-- =================================================================== -->
  -  <target name="javadoc" depends="prepare,util" unless="skip.javadoc">
  +  <target name="javadoc" depends="prepare,util" unless="skip.javadoc"
  +   description="Generate core API documentation">
       <property name="copyright" value="" />
       <javadoc sourcepath="src/share" destdir="${slide.build}/doc/javadoc"
        doctitle="Slide ${version} API Documentation"
  @@ -915,8 +947,9 @@
     <!-- =================================================================== -->
     <!-- Build a Slide distribution                                          -->
     <!-- =================================================================== -->
  -  <target name="dist" depends="main, examples, tests, prepare-dist, doc,
  -   javadoc">
  +  <target name="dist"
  +   depends="main, examples, tests, prepare-dist, doc,javadoc"
  +   description="Make distribution of core components">
   
       <copy file="src/etc/MANIFEST.MF"
        tofile="${slide.build}/classes/MANIFEST.MF" />
  @@ -1135,7 +1168,6 @@
     
     <!-- Generate JavaDocs for the tag library components -->
     <target name="taglib-javadoc" unless="skip.javadoc"
  -   description="Generate API docs for the Slide tag library"
      depends="taglib-prepare">
       <echo message="Generating the tag libraries API documentation..." />
       <property name="copyright" value="" />
  @@ -1289,7 +1321,6 @@
   
     <!-- Generate JavaDocs for the admin-webapp -->
     <target name="admin-javadoc" unless="skip.javadoc"
  -   description="Generate API docs for the Administration Webapp"
      depends="admin-compile-prepare">
       <echo message="Generating API documentation of the Admin Webapp..." />
       <property name="copyright" value="" />
  @@ -1552,9 +1583,11 @@
     <!-- =================================================================== -->
     <!-- Full distribution                                                   -->
     <!-- =================================================================== -->
  -  <target name="full-dist" depends="dist, webdav-client-dist, webapp-dist,
  -   admin-dist, catalina-wrapper, catalina-dist, log4j-wrapper, jndi-wrapper,
  -   jmx-wrapper, testsuite-dist" />
  +  <target name="full-dist"
  +   depends="dist, webdav-client-dist, webapp-dist,admin-dist,catalina-wrapper,
  +   catalina-dist, log4j-wrapper, jndi-wrapper,jmx-wrapper, testsuite-dist"
  +   description="Make a full distribution (with all optional components)"
  +   />
   
   
     <!-- =================================================================== -->
  @@ -1623,10 +1656,11 @@
   
   
     <!-- =================================================================== -->
  -  <!-- Packages the distribution with ZIP and TAG-GZIP                     -->
  +  <!-- Packages the distribution with ZIP and TAR-GZIP                     -->
     <!-- =================================================================== -->
  -  <target name="release" depends="package-zip, package-tgz, package-src-all,
  -                package-testsuite-zip">
  +  <target name="release"
  +   depends="package-zip, package-tgz, package-src-all,package-testsuite-zip"
  +   description="Packages the distribution with ZIP and TAR-GZIP">
     </target>
   
   
  
  
  

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

Reply via email to