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