stefano     2003/02/22 03:12:19

  Modified:    .        build.xml
  Log:
  first step at 'copy-free' build.
  
  Things still to do:
  1) Constants.java is not filtered (have to figure out a clean way of doing this)
  2) Scratchpad still copies stuff (relies too much on <available> but these things 
should move to blocks!)
  3) Blocks still copy stuff (will tackle this right next)
  
  Revision  Changes    Path
  1.323     +87 -135   xml-cocoon2/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/build.xml,v
  retrieving revision 1.322
  retrieving revision 1.323
  diff -u -r1.322 -r1.323
  --- build.xml 21 Feb 2003 13:25:42 -0000      1.322
  +++ build.xml 22 Feb 2003 11:12:18 -0000      1.323
  @@ -115,36 +115,10 @@
       </taskdef>
     </target>
   
  -  <!-- Test for optional components -->
  -  <target name="optional-tests" depends="init">
  -    <available classpathref="classpath"
  -               property="ifx.driver.present"
  -               classname="com.informix.jdbc.IfxResultSet"/>
  -
  -    <available classpathref="classpath"
  -               property="servlet23.present"
  -               classname="javax.servlet.http.HttpServletRequestWrapper"/>
  -
  -    <available classpathref="classpath"
  -               property="mail.present"
  -               classname="javax.mail.Flags"/>
  -
  -    <available classpathref="classpath"
  -               property="jxpath.present"
  -               classname="org.apache.commons.jxpath.JXPathContext"/>
  -
  -    <available classpathref="classpath"
  -               property="activation.present"
  -               classname="javax.activation.DataSource"/>
  -  </target>
  -
   <!-- Preparation Targets =================================================== -->
   
  -  <!-- Prepare everything -->
  -  <target name="prepare" depends="prepare-core, prepare-deprecated, 
prepare-scratchpad, prepare-samples"/>
  -
     <!-- Prepare the build directory -->
  -  <target name="prepare-build" depends="init">
  +  <target name="prepare" depends="init">
       
<echo>+-------------------------------------------------------------------------------+</echo>
       <echo>                        ${fullname} ${version} [${year}]</echo>
       
<echo>+-------------------------------------------------------------------------------+</echo>
  @@ -161,17 +135,14 @@
     </target>
   
     <!-- Prepare the source -->
  -  <!-- [FIXME] dependency on 'prepare-deprecated' should be removed once 
dependencies on deprecated code are removed -->
  -  <target name="prepare-core" depends="generate-code,prepare-deprecated">
  +  <target name="prepare-core" depends="generate-code">
       <mkdir dir="${build.src}"/>
       <mkdir dir="${build.dest}"/>
  -    <copy todir="${build.src}" filtering="on">
  -      <fileset dir="${java}"/>
  -    </copy>
  +    <mkdir dir="${build.mocks}"/>
     </target>
   
     <!-- Set a variable if the generated java code is already up-to-date. -->
  -  <target name="generate-code-check" depends="prepare-build">
  +  <target name="generate-code-check" depends="prepare">
       <uptodate property="generate-code.notrequired"
           
targetfile="${build.src}/org/apache/cocoon/components/browser/BrowserImpl.java" >
         <srcfiles dir="${java}/org/apache/cocoon/components/browser"
  @@ -189,64 +160,6 @@
              style="${java}/org/apache/cocoon/components/browser/BrowserImpl.xsl"/>
     </target>
   
  -  <!-- Prepare the scratchpad -->
  -  <target name="prepare-scratchpad" depends="prepare-build, optional-tests" 
unless="exclude.scratchpad">
  -    <mkdir dir="${build.scratchpad.src}"/>
  -    <mkdir dir="${build.scratchpad.dest}"/>
  -    <copy todir="${build.scratchpad.src}" filtering="on">
  -      <fileset dir="${scratchpad.src}">
  -        <exclude name="**/Ifx*.java" unless="ifx.driver.present"/>
  -
  -        <exclude name="**/components/request/**"                
unless="servlet.present"/>
  -        <exclude name="**/precept/**"                           
unless="servlet.present"/>
  -        <exclude name="**/reading/ByteRangeResourceReader.java" 
unless="servlet.present"/>
  -        <exclude name="**/acting/SourceMultiAction.java"        
unless="servlet.present"/>
  -        <exclude name="**/acting/SourceUploadAction.java"       
unless="servlet.present"/>
  -        <exclude name="**/generation/RequestAttribute**.java"   
unless="servlet.present"/>
  -
  -        <exclude name="**/jxpath/**" unless="jxpath.present"/>
  -        <exclude name="**/taglib/**" unless="jxpath.present"/>
  -        <exclude name="**/transformation/TagTransformer.java" 
unless="jxpath.present"/>
  -
  -        <exclude name="**/servlet/*Filter*.java" unless="servlet23.present"/>
  -
  -        <exclude name="**/components/axis/**" unless="activation.present"/>
  -        <exclude name="**/reading/AxisRPCReader.java" unless="activation.present"/>
  -        <exclude name="**/webservices/**" unless="activation.present"/>
  -
  -        <exclude name="**/mail/**" unless="mail.present"/>
  -      </fileset>
  -    </copy>
  -  </target>
  -
  -  <!-- Prepare deprecated code -->
  -  <target name="prepare-deprecated" depends="prepare-build" 
unless="exclude.deprecated">
  -    <mkdir dir="${build.deprecated.src}"/>
  -    <mkdir dir="${build.deprecated.dest}"/>
  -    <copy todir="${build.deprecated.src}" filtering="on">
  -      <fileset dir="${deprecated.src}">
  -        <include name="**/*.java"/>
  -      </fileset>
  -    </copy>
  -
  -    <!-- [FIXME] Copy over deprecated classes until dependencies are fixed -->
  -    <copy todir="${build.src}" filtering="on">
  -      <fileset dir="${deprecated.src}">
  -        <include name="**/*.java"/>
  -      </fileset>
  -    </copy>
  -  </target>
  -
  -  <!-- Prepare samples code -->
  -  <target name="prepare-samples" depends="prepare-build" 
unless="exclude.webapp.samples">
  -    <mkdir dir="${build.samples}"/>
  -    <copy todir="${build.samples}" filtering="on">
  -      <fileset dir="${samples}">
  -        <include name="**/*.java"/>
  -      </fileset>
  -    </copy>
  -  </target>
  -
   <!-- Compilation Targets =================================================== -->
   
     <!-- compiles everything -->
  @@ -255,21 +168,24 @@
     <!-- compiles the core -->
     <target name="compile-core" depends="prepare-core">
   
  +    <!-- copy those source files that needed filtering -->
  +    <!--copy todir="${build.src}" filtering="on">
  +      <fileset dir="${java}">
  +        <include name="**/Constants.java"/>
  +      </fileset>
  +    </copy-->
  +
  +    <!-- copy those files that need to be in the classpath -->
       <copy todir="${build.dest}">
  -      <fileset dir="${build.src}">
  -        <include name="**/Manifest.mf"/>
  +      <fileset dir="${java}">
           <include name="**/*.xsl"/>
           <include name="**/*.roles"/>
           <include name="**/*.xml"/>
           <include name="**/*.js"/>
  -        <include name="**/*.scm"/>
  -        <include name="META-INF/**"/>
         </fileset>
       </copy>
   
  -    <xpatch directory="${build.src}" extension="xroles" 
configuration="${build.dest}/org/apache/cocoon/cocoon.roles"/>
  -
  -    <mkdir dir="${build.mocks}"/>
  +    <!-- compile mock classes -->
       <javac srcdir="${mocks}"
              destdir="${build.mocks}"
              debug="${compiler.debug}"
  @@ -280,26 +196,77 @@
              compiler="${compiler}"
              classpathref="classpath"/>
   
  -    <javac srcdir="${build.src}"
  -           destdir="${build.dest}"
  +    <!-- compile core source files -->
  +    <javac destdir="${build.dest}"
              debug="${compiler.debug}"
              optimize="${compiler.optimize}"
              deprecation="${compiler.deprecation}"
              target="${target.vm}"
              nowarn="${compiler.nowarn}"
              compiler="${compiler}"
  -           classpathref="classpath"/>
  +           classpathref="classpath">
  +      <src path="${java}"/>
  +      <src path="${build.src}"/>
  +      <!-- [FIXME] THIS DEPENDENCY SHOULD GO AWAY!!!! -->
  +      <src path="${deprecated.src}"/>
  +    </javac>
     </target>
   
     <!-- compiles the scratchpad -->
  -  <target name="compile-scratchpad" depends="prepare-scratchpad" 
unless="exclude.scratchpad">
  +  <target name="compile-scratchpad" depends="prepare" unless="exclude.scratchpad">
  +    <mkdir dir="${build.scratchpad.src}"/>
  +    <mkdir dir="${build.scratchpad.dest}"/>
  +   
  +    <available classpathref="classpath"
  +               property="ifx.driver.present"
  +               classname="com.informix.jdbc.IfxResultSet"/>
  +
  +    <available classpathref="classpath"
  +               property="servlet23.present"
  +               classname="javax.servlet.http.HttpServletRequestWrapper"/>
  +
  +    <available classpathref="classpath"
  +               property="mail.present"
  +               classname="javax.mail.Flags"/>
  +
  +    <available classpathref="classpath"
  +               property="jxpath.present"
  +               classname="org.apache.commons.jxpath.JXPathContext"/>
  +
  +    <available classpathref="classpath"
  +               property="activation.present"
  +               classname="javax.activation.DataSource"/>
  +                   
  +    <copy todir="${build.scratchpad.src}" filtering="on">
  +      <fileset dir="${scratchpad.src}">
  +        <exclude name="**/Ifx*.java" unless="ifx.driver.present"/>
  +
  +        <exclude name="**/components/request/**"                
unless="servlet.present"/>
  +        <exclude name="**/precept/**"                           
unless="servlet.present"/>
  +        <exclude name="**/reading/ByteRangeResourceReader.java" 
unless="servlet.present"/>
  +        <exclude name="**/acting/SourceMultiAction.java"        
unless="servlet.present"/>
  +        <exclude name="**/acting/SourceUploadAction.java"       
unless="servlet.present"/>
  +        <exclude name="**/generation/RequestAttribute**.java"   
unless="servlet.present"/>
  +
  +        <exclude name="**/jxpath/**" unless="jxpath.present"/>
  +        <exclude name="**/taglib/**" unless="jxpath.present"/>
  +        <exclude name="**/transformation/TagTransformer.java" 
unless="jxpath.present"/>
  +
  +        <exclude name="**/servlet/*Filter*.java" unless="servlet23.present"/>
  +
  +        <exclude name="**/components/axis/**" unless="activation.present"/>
  +        <exclude name="**/reading/AxisRPCReader.java" unless="activation.present"/>
  +        <exclude name="**/webservices/**" unless="activation.present"/>
  +
  +        <exclude name="**/mail/**" unless="mail.present"/>
  +      </fileset>
  +    </copy>
  +
       <copy todir="${build.scratchpad.dest}">
         <fileset dir="${build.scratchpad.src}">
  -        <include name="**/Manifest.mf"/>
           <include name="**/*.xsl"/>
           <include name="**/*.wsdd"/>
           <include name="**/*.roles"/>
  -        <include name="META-INF/**"/>
         </fileset>
       </copy>
   
  @@ -314,18 +281,11 @@
     </target>
   
     <!-- compiles deprecated code -->
  -  <target name="compile-deprecated" depends="prepare-deprecated" 
unless="exclude.deprecated">
  -    <copy todir="${build.deprecated.dest}">
  -      <fileset dir="${build.deprecated.src}">
  -        <include name="**/Manifest.mf"/>
  -        <include name="**/*.xsl"/>
  -        <include name="**/*.roles"/>
  -        <include name="META-INF/**"/>
  -      </fileset>
  -    </copy>
  +  <target name="compile-deprecated" depends="prepare" unless="exclude.deprecated">
  +    <mkdir dir="${build.deprecated}"/>
   
  -    <javac srcdir="${build.deprecated.src}"
  -           destdir="${build.deprecated.dest}"
  +    <javac srcdir="${deprecated.src}"
  +           destdir="${build.deprecated}"
              debug="${compiler.debug}"
              optimize="${compiler.optimize}"
              deprecation="${compiler.deprecation}"
  @@ -335,9 +295,11 @@
     </target>
   
     <!-- compiles sample code -->
  -  <target name="compile-samples" depends="prepare-samples" 
unless="exclude.webapp.samples">
  +  <target name="compile-samples" depends="prepare" unless="exclude.webapp.samples">
  +    <mkdir dir="${build.samples}"/>
  +
       <javac srcdir="${build.samples}"
  -       destdir="${build.dest}"
  +       destdir="${build.samples}"
          debug="${compiler.debug}"
          optimize="${compiler.optimize}"
          deprecation="${compiler.deprecation}"
  @@ -353,39 +315,29 @@
   
     <!-- package the core -->
     <target name="package-core" depends="compile-core">
  -    <jar jarfile="${build}/${name}.jar" manifest="${build.src}/Manifest.mf">
  -      <fileset dir="${build.dest}">
  -        <include name="org/**"/>
  -        <include name="META-INF/**"/>
  -        <exclude name="org/apache/cocoon/samples/**"/>
  -      </fileset>
  +    <jar jarfile="${build}/${name}.jar" manifest="${java}/Manifest.mf">
  +      <fileset dir="${build.dest}"/>
       </jar>
     </target>
   
     <!-- package the scratchpad -->
     <target name="package-scratchpad" depends="compile-scratchpad" 
unless="exclude.scratchpad">
       <jar jarfile="${build}/${name}-scratchpad.jar">
  -      <fileset dir="${build.scratchpad.dest}">
  -        <include name="org/**"/>
  -      </fileset>
  +      <fileset dir="${build.scratchpad}"/>
       </jar>
     </target>
   
     <!-- package deprecated code -->
     <target name="package-deprecated" depends="compile-deprecated" 
unless="exclude.deprecated">
       <jar jarfile="${build}/${name}-deprecated.jar">
  -      <fileset dir="${build.deprecated.dest}">
  -        <include name="org/**"/>
  -      </fileset>
  +      <fileset dir="${build.deprecated}"/>
       </jar>
     </target>
   
     <!-- package sample code -->
     <target name="package-samples" depends="compile-samples" 
unless="exclude.webapp.samples">
       <jar jarfile="${build}/${name}-samples.jar">
  -      <fileset dir="${build.dest}">
  -        <include name="samples/**"/>
  -      </fileset>
  +      <fileset dir="${build.samples}"/>
       </jar>
     </target>
   
  @@ -598,8 +550,8 @@
     <target name="prepare-webapp" depends="package, blocks">
       <mkdir dir="${build.webapp}"/>
   
  -    <copy file="${webapp}/welcome.xml" tofile="${build.webapp}/welcome.xml"/>
  -    <copy file="${webapp}/welcome.xslt" tofile="${build.webapp}/welcome.xslt"/>
  +    <copy file="${webapp}/welcome.xml" tofile="${build.webapp}/welcome.xml" 
filtering="on"/>
  +    <copy file="${webapp}/welcome.xslt" tofile="${build.webapp}/welcome.xslt" 
filtering="on"/>
       <copy file="${resources.logos}/cocoon-button-powered-158.gif" 
tofile="${build.webapp}/resources/images/powered.gif"/>
       <copy file="${resources.logos}/cocoon.ico" 
tofile="${build.webapp}/resources/images/cocoon.ico"/>
       <copy file="${resources.styles}/cocoon.css" 
tofile="${build.webapp}/resources/styles/cocoon.css"/>
  
  
  

Reply via email to