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"/>