I'm very impressed with the new build system. It makes Cocoon look almost
like a sane product now.

The errors that have been reported w/ oracle.jdbc, org.xml.database and some
others have to do with minor typos in tools/src/blocks-build.xsl. I have
appended a patch that remedies these typos.

The error with IOException: webapp/samples/sitemap.xmap are because the
enitre samples directory is not copied to ${build.webapp}/samples. The
second patch fixes that, but someone might take a look at it see if it acts
as intended.

Index: tools/src/blocks-build.xsl
===================================================================
RCS file: /home/cvspublic/xml-cocoon2/tools/src/blocks-build.xsl,v
retrieving revision 1.19
diff -u -r1.19 blocks-build.xsl
--- tools/src/blocks-build.xsl  20 Feb 2003 20:04:58 -0000      1.19
+++ tools/src/blocks-build.xsl  21 Feb 2003 14:08:11 -0000
@@ -4,7 +4,7 @@
    <xsl:output method="xml" version="1.0" indent="yes" />

    <xsl:template match="/">
-      <project basedir="." name="blocks">
+      <project basedir="." name="blocks" default="compile">
          <description>Autogenerated Ant build file that builds
blocks.</description>

          <path id="classpath">
@@ -66,10 +66,10 @@
          </xsl:if>

          <!-- Test if this block has special build -->
-         <available property="{$block-name}.has.build"
file="{string('${block}')}/{$block-name}/build.xml"/>
+         <available property="{$block-name}.has.build"
file="{string('${blocks}')}/{$block-name}/build.xml"/>

          <!-- Test if this block has mocks -->
-         <available property="{$block-name}.has.mocks" type="dir"
file="{string('${block}')}/{$block-name}/mocks/"/>
+         <available property="{$block-name}.has.mocks" type="dir"
file="{string('${blocks}')}/{$block-name}/mocks/"/>

          <xsl:if test="@status='unstable'">
            <echo
message="-----------------------------------------------"/>
@@ -95,7 +95,7 @@
          </xsl:if>

          <!-- Test if this block has samples -->
-         <available property="{$block-name}.has.samples"
file="{string('${block}')}/{$block-name}/samples/sitemap.xmap"/>
+         <available property="{$block-name}.has.samples"
file="{string('${blocks}')}/{$block-name}/samples/sitemap.xmap"/>

          <antcall target="{$block-name}-samples"/>
       </target>
@@ -180,7 +180,7 @@
       </target>

       <target name="{$block-name}-mocks" if="{$block-name}.has.mocks">
-         <path id="{$block-name}.classpath">
+         <path id="{$block-name}.mock.classpath">
             <path refid="classpath"/>
             <fileset dir="{string('${build}')}">
                <include name="*.jar"/>
@@ -198,7 +198,7 @@
             target="{string('${target.vm}')}"
             nowarn="{string('${compiler.nowarn}')}"
             compiler="{string('${compiler}')}">
-              <classpath refid="{$block-name}.classpath" />
+              <classpath refid="{$block-name}.mock.classpath" />
          </javac>
       </target>

@@ -211,17 +211,17 @@
       </target>

       <target name="{$block-name}-patches" depends="{$block-name}-prepare">
-         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xmap" configuration="${build.webapp}/sitemap.xmap"/>
-         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xpipe" configuration="${build.webapp}/sitemap.xmap"/>
-         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xconf" configuration="${build.webapp}/WEB-INF/cocoon.xconf"/>
+         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xmap" configuration="{string('${build.webapp}')}/sitemap.xmap"/>
+         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xpipe" configuration="{string('${build.webapp}')}/sitemap.xmap"/>
+         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xconf"
configuration="{string('${build.webapp}')}/WEB-INF/cocoon.xconf"/>
       </target>

       <target name="{$block-name}-samples" if="{$block-name}.has.samples">
          <copy filtering="on"
todir="{string('${build.webapp}')}/samples/{$block-name}">
             <fileset dir="{string('${blocks}')}/{$block-name}/samples"/>
          </copy>
-         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xsamples" configuration="${build.webapp}/samples/samples.xml"/>
-         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="samplesxpipe"
configuration="${build.webapp}/samples/sitemap.xmap"/>
+         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="xsamples"
configuration="{string('${build.webapp}')}/samples/samples.xml"/>
+         <xpatch directory="{string('${build.blocks}')}/{$block-name}/conf"
extension="samplesxpipe"
configuration="{string('${build.webapp}')}/samples/sitemap.xmap"/>
       </target>
    </xsl:template>
 </xsl:stylesheet>

Index: build.xml
===================================================================
RCS file: /home/cvspublic/xml-cocoon2/build.xml,v
retrieving revision 1.321
diff -u -r1.321 build.xml
--- build.xml   21 Feb 2003 11:41:50 -0000      1.321
+++ build.xml   21 Feb 2003 14:09:40 -0000
@@ -665,6 +665,9 @@
   <target name="prepare-webapp-samples" depends="package-samples"
unless="exclude.webapp.samples">

     <copy file="${build}/${name}-samples.jar"
tofile="${build.webapp.lib}/${name}-${version}-samples.jar"/>
+    <copy todir="${build.webapp}/samples" filtering="on">
+      <fileset dir="${webapp}/samples" />
+    </copy>

     <xpatch directory="${build.src}" extension="samplesxpipe"
configuration="${build.webapp}/samples/sitemap.xmap"/>


Reply via email to