Author: reinhard
Date: Wed Feb 2 01:26:44 2005
New Revision: 149502
URL: http://svn.apache.org/viewcvs?view=rev&rev=149502
Log:
document about 'How to build Cocoon projects using Ant - Cocoon 2.1.X' by Helma
van der Linden, issue 33334
Added:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/content_en.html
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/build-cocoon-targets.xml
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.png
(with props)
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.psd
(with props)
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/meta.xml
Added:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/content_en.html
URL:
http://svn.apache.org/viewcvs/cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/content_en.html?view=auto&rev=149502
==============================================================================
---
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/content_en.html
(added)
+++
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/content_en.html
Wed Feb 2 01:26:44 2005
@@ -0,0 +1,218 @@
+<?xml version="1.0"?>
+<html>
+<head>
+<title>Building your own Cocoon project using Ant</title>
+</head>
+<body>
+<h1>Building your own Cocoon project using Ant</h1>
+<p>
+Now that you've studied Cocoon and you are convinced it is worth
+spending your time on, you want to try your hand at your own project.
+There are several ways to start your own project. This is just one of them.
+</p>
+<p>
+The following HOW-TO helps you to create your own project in a subdirectory of
the Cocoon root.
+It also has its own subsitemap.
+The main advantage of this configuration is the fact that you can leave the
original Cocoon
+root sitemap intact.
+Since it is set up in a pretty generic way and accommodating most types of
generators,
+transformers and serializers, it provides a working environment that you don't
have to understand
+thoroughly before you are able to use it. Instead, you can work the other way
around. Once you
+understand a part of the root sitemap you can tune it to your needs.
+</p>
+<p>
+Another advantage of this configuration is the strict separation of the files
that are part of
+Cocoon and those that are part of your project. The separation allows you to
update Cocoon without
+overwriting vital modifications. Or you can develop your webapp against
different Cocoon
+distributions.
+<br/>
+<b>Note:</b> This configuration will work with Cocoon 2.1.X distributions and
maybe more recent.
+It will probably be more difficult to get this working with an older
distribution.
+</p>
+
+<h2>Initial setup</h2>
+<p>
+The following steps explain how to set up this configuration. These steps will
only be performed once.
+You will work from the commandline.
+</p>
+<ol>
+<li>Get the Cocoon distribution. You can either download a release build or
dive in and get the latest HEAD from SVN.</li>
+<li>Make a separate project directory and put <i>build-cocoon-targets.xml</i>
in this directory.</li>
+<li>"Seed" the project by running the following on the commandline:
+<pre>ant -f build-cocoon-targets.xml
-Dcocoon.distro.home=/path/to/your/cocoon/distribution</pre></li>
+<p>
+<b>Note:</b> Either you have ANT_HOME set to the appropriate directory or you
use the full path to Ant.<br/>
+<b>Note:</b> The <i>cocoon.distro.home</i> is now set in
<i>user.properties</i>.<br/>
+<b>Note for Windows users:</b> set the slashes as forward slashes.</p>
+<li>Customize the <i>src/cocoon/local.build.properties</i> and remove the
+path variables in this file. Ant cannot substitute variables in property
files,
+so ${...} variables would cause build errors.
+Remove the sections <i>build, build webapp, src, standalone demo, dir layout,
tools,
+deprecated, ide, lib, dist, site, legal, gump</i>, so that there are no more
${...} and variables in this file.</li>
+<li>Exclude all blocks you don't need in the top part of
<i>local.build.properties</i>.</li>
+<li>Exclude the samples and documentation too if you don't need them. The
build process is time consuming.</li>
+<li>Run the following command from the commandline:
+<pre>ant cocoon:get</pre>
+<b>Note:</b>This will only be done when changing the distribution or the
settings in <i>local.build.properties</i>.</li>
+
+<li>Run the following command from the commandline:
+<pre>ant webapp</pre>
+This builds the Java classes and copies the entire project to the tools
tree.<br/>
+<b>Note:</b> classes are built with <i>debug</i> flag on.</li>
+<li>Run the following command from the commandline:
+<pre>ant cocoon:run</pre>
+This starts Jetty with Cocoon and your project in it.<br/>
+<b>Note:</b> Default Cocoon is configured to automatically reload files that
are changed.
+This way Jetty can keep running while you develop your project. You only have
to restart when the previous step
+has done any of the following:
+<ul>
+<li>changed any of the libraries,</li>
+<li>compiled java classes.</li>
+</ul>
+</li>
+<li>Start up your favourite browser and enter the following:
+<pre>http://localhost:8888/</pre>
+You should now see the homepage of Cocoon.</li>
+<li>Check your (now still empty) project in in your CVS.</li>
+</ol>
+<p>
+This concludes the initial setup.
+</p>
+<h3>Example</h3>
+<p>If we execute the above steps on a Windows machine with the Cocoon
distribution in
+/SVN/cocoon and your project in /projects/myprojects, the
+commands and the resulting information on your screen will look like this:
+</p>
+<pre>
+D:\projects>mkdir myproject
+
+D:\projects>copy build-cocoon-targets.xml myproject
+ 1 file(s) copied.
+
+D:\projects>cd myproject
+
+D:\projects\myproject>\apache-ant-1.6.1\bin\ant -f build-cocoon-targets.xml
-Dcocoon.distro.home=/SVN/cocoon
+Buildfile: build-cocoon-targets.xml
+
+seed-check:
+
+msg-seed-localprops:
+
+seed-dirs:
+ [mkdir] Created dir: D:\projects\myproject\src\cocoon
+ [mkdir] Created dir: D:\projects\myproject\src\cocoon\webapp
+ [mkdir] Created dir: D:\projects\myproject\src\cocoon\xconf
+ [mkdir] Created dir: D:\projects\myproject\tools\cocoon
+ [mkdir] Created dir: D:\projects\myproject\tools\cocoon\webapp
+ [mkdir] Created dir: D:\projects\myproject\src\java
+ [mkdir] Created dir: D:\projects\myproject\lib
+
+seed-localprops:
+
+msg-seed-cvsignore:
+
+seed-cvsignore:
+
+msg-seed-userprops:
+
+seed-userprops:
+
+msg-seed-build:
+
+seed-build:
+ [echo] Creating build.xml...
+
+seed:
+ [echo] Done.
+ [echo]
+ [echo] The directory src/cocoon/webapp is created to hold your cocoon
+ [echo] webapp resources.
+ [echo] The directory src/cocoon/xconf is created to hold XConfPatch
files
+ [echo] to (optionally) modify the cocoon.xconf log.xconf web.xml and
+ [echo] (root) sitemap.xmap
+ [echo]
+ [echo] From here:
+ [echo] ---------
+ [echo] You should now edit the file
./src/cocoon/local.build.properties to select
+ [echo] only those optional components of Cocoon that your project
needs.
+ [echo] IMPORTANT: Remove the path-entries from that file!
+ [echo]
+ [echo] The build.xml can freely be extended for your project needs.
+ [echo]
+ [echo] To build a fresh Cocoon base for this project
+ [echo] (when you updated the distro pointed to by
-Dcocoon.distro.home)
+
+ [echo] > ant cocoon:get
+ [echo]
+ [echo] To blend in your own project resources and classes:
+ [echo] > ant webapp
+ [echo]
+ [echo] To test-run using the Jetty container:
+ [echo] > ant cocoon:run
+ [echo]
+
+BUILD SUCCESSFUL
+Total time: 1 second
+D:\projects\myproject>
+</pre>
+
+<h2>Directory layout</h2>
+<table style="border: 1px solid black">
+<tr><td><img src="files/dirlayout.png" /><br/>
+<i>Figure 1: Directory layout</i>
+</td></tr></table>
+<p>
+In figure 1 you can see the resulting directory layout. We'll discuss what
each of these entries contain:
+<ul>
+<li><b>lib</b> This directory contains project dependant jars. Not the Cocoon
jars,
+since they are distribution dependent.</li>
+<li><b>src/java</b> Your own Java classes and components go here.</li>
+<li><b>src/cocoon/webapp</b> Add a directory <yourProjectName> here.
This contains your
+Cocoon related files such as the sitemap, XSL and XML files.</li>
+<li><b>src/cocoon/xconf</b> Your modifications to the Cocoon configuration
files go here.<br/>
+<b>Note:</b> See <!--<a href="xpatchusage">-->xpatchusage<!--/a--> for an
explanation of how to create these modifications.
+</li>
+<li><b>tools/cocoon/webapp</b> This will contain the resulting structure for
Jetty to display.
+The Cocoon jars, copied from the Cocoon distribution are put here too in
<i>WEB-INF/lib</i>.</li>
+<li><b>build.xml</b> This will be your Ant buildfile. Modify it to your
needs.</li>
+<li><b>user.properties</b> and <b>src/cocoon/local.build.properties</b>
contain some variables
+such as cocoon.distro.home</li>
+</ul>
+<h2>During development</h2>
+<p>
+The <i>build.xml</i> contains several useful targets, which we will explain
below. <b>Note</b> that
+this file includes <i>build-cocoon-targets.xml</i>. Some of the targets below
are in that file, so
+don't delete it!
+</p>
+<ul>
+<li><b>cocoon:get</b> Get Cocoon into your project. This target will compile
the Cocoon
+distribution using your <i>local.build.properties</i> and put the result in
+<i>tools/cocoon/webapp</i>.</li>
+<li><b>cocoon:unpatch</b> During <i>cocoon:get</i> the original versions of
vital Cocoon configuration
+files such as <i>sitemap.xmap, cocoon.xconf, web.xml</i> and <i>logkit.xml</i>
are copied to
+<i>tools/cocoon/unpatched</i>. This target allows you to copy the original
versions to their
+respective locations. Very convenient when you changed an xconf file that
cannot be applied.</li>
+<li><b>webapp</b> Compile the Java classes in <i>src/java</i> and copy the
relevant files in the
+source tree to the appropriate places under <i>tools/cocoon</i>. It also
modifies the Cocoon
+configuration files using the xconf files.</li>
+<li><b>cocoon:run</b> Start up Jetty with your webapp. Your project can be
reached under
+<pre>http://localhost:8888/yourProjectName</pre></li>
+</ul>
+
+<p>
+The <i>build-cocoon-targets.xml</i> file can be found <a
href="files/build-cocoon-targets.xml">here</a>. <br/>
+<i>Credits go to Marc Portier for the content and the Ant build script.</i>
+</p>
+
+<h2>ToDo</h2>
+<ul>
+<li>figure out the difference between the Ant 1.5 setup and the Ant 1.6 setup.
OTOH: is this still necessary?</li>
+<li>check English (grammar, style, US vs EN)</li>
+<li>check if all is (still) accurate -> it was as far as I can tell. </li>
+<li>Refer to this for adding it to Eclipse?</li>
+<li>create xpatchusage documentation</li>
+</ul>
+
+</body>
+</html>
+
Added:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/build-cocoon-targets.xml
URL:
http://svn.apache.org/viewcvs/cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/build-cocoon-targets.xml?view=auto&rev=149502
==============================================================================
---
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/build-cocoon-targets.xml
(added)
+++
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/build-cocoon-targets.xml
Wed Feb 2 01:26:44 2005
@@ -0,0 +1,455 @@
+<?xml version="1.0"?>
+<!--
+This Apache Ant build.xml snippet contains targets for helping out
+managing the Cocoon dependencies of your project.
+It assumes that you have Ant version 1.6.x or later that supports the
+<import> task.
+
+Usage: [full automatic, for fresh projects starts]
+1) Copy this file to the root of your project
+ (e.g. to ./build-cocoon.targets.xml)
+2) ant -buildfile build-cocoon-targets.xml
-Dcocoon.distro.home=/...abs_path_to_cocoon_src_distro...
+
+ this will generate a typical directory-structure containing:
+ ./build.xml (minimal version to be completed to project needs)
+ ./user.properties (ready pointing to cocoon.distro.home)
+ ./src/cocoon/local.build.properties
+ ./src/cocoon/webapp
+ ./src/cocoon/xconf
+ .cvsignore (ignoring build and tools/cocoon/*)
+
+ You manually start changing these as you go allong with your project.
+
+ The script will not overwrite files that already exist.
+
+Usage: [manual, for existing build.xml files]
+1) Copy this file to the root of your project
+ (e.g. to ./build-cocoon.targets.xml)
+2) Add the following to the top-level of your project's Ant build.xml script
(possibly adjusting the path):
+
+ <property name="cocoon.targets" value="./build-cocoon.targets.xml">
+ <import file="${cocoon.targets}">
+
+3) Add in various properties assumed to be available (change the paths to your
own liking)
+
+ <property file="user.properties">
+ <property name="src" value="./src" />
+ <property name="src.cocoon" value="${src}/cocoon" />
+ <property name="cocoon.build.properties"
value="${src.cocoon}/local.build.properties">
+ <property name="cocoon.xconf.dir" value="${src.cocoon}/xconf">
+ <property name="cocoon.tool.dir" value="tools/cocoon">
+
+
+How it works:
+
+All targets in this build file snippet depend upon
+the following properties being set
+ 1. cocoon.distro.home
+ location of src distribution of cocoon to use
+ 2. cocoon.build.properties
+ property file with specific cocoon build settings
+ (selecting which blocks, samples,...)
+ typically src/cocoon/local.build.properties
+ 3. cocoon.xconf.dir
+ location where the appropriate patch files can be found
+ typically src/cocoon/xconf
+ 4. cocoon.tool.dir
+ where cocoon is build inside your project
+ typically this is tools/cocoon
+
+Updates and Background:
+http://wiki.cocoondev.org/Wiki.jsp?page=YourCocoonBasedProject
+-->
+<project name="YourCocoonBasedProject" default="seed" >
+
+ <!-- if not set yet... -->
+ <property file="user.properties" />
+ <property name="src" value="./src" />
+ <property name="src.cocoon" value="${src}/cocoon" />
+ <property name="cocoon.build.properties"
value="${src.cocoon}/local.build.properties" />
+ <property name="cocoon.xconf.dir" value="${src.cocoon}/xconf" />
+ <property name="cocoon.tool.dir" value="tools/cocoon" />
+ <property name="cocoon.unpatched" value="${cocoon.tool.dir}/unpatched"/>
+
+ <!--
+ sets some essential properties for these targets
+ -->
+ <target name="-cocoon:init">
+ <mkdir dir="${cocoon.tool.dir}" />
+ <property name="cocoon.webapp" value="${cocoon.tool.dir}/webapp" />
+ <property name="cocoon.tasks" value="${cocoon.tool.dir}/taskdefs" />
+ <property name="cocoon.lib" value="${cocoon.webapp}/WEB-INF/lib" />
+ </target>
+
+ <!--
+ checks what kind of OS this is running on
+ -->
+ <target name="-cocoon:oscheck" >
+ <condition property="isWindows">
+ <os family="windows" />
+ </condition>
+ </target>
+
+ <!--
+ creates Windows batch files for cocoon dependencies
+ -->
+ <target name="-cocoon:bat" if="isWindows"
+ depends="-cocoon:init, -cocoon:oscheck" >
+ <echo>Building batch files for support on windows OS</echo>
+ <property name="shbat" value="bat" />
+
+ <echo file="${cocoon.tool.dir}/getc2.${shbat}"><[EMAIL PROTECTED] off
+if "%COCOON_HOME%"=="" then echo You haven't set the COCOON_HOME environment
variable.
+echo GOING TO %COCOON_HOME%
+cd /d %COCOON_HOME%
+echo Running build.bat -propertyfile %PROJECT_PROPERTIES% clean webapp
-Dbuild.webapp=%PROJECT_WEBAPP% -Dtools.tasks.dest=%PROJECT_TASKDEFS%
+build.bat -propertyfile %PROJECT_PROPERTIES% clean webapp
-Dbuild.webapp=%PROJECT_WEBAPP% -Dtools.tasks.dest=%PROJECT_TASKDEFS%
+]]></echo>
+
+ <echo file="${cocoon.tool.dir}/runc2.${shbat}"><[EMAIL PROTECTED] off
+set JETTY_WEBAPP=%PROJECT_WEBAPP%
+cd /d %COCOON_HOME%
+cocoon.bat servlet-debug
+]]></echo>
+ </target>
+
+ <!--
+ creates shell scripts for cocoon dependencies
+ -->
+ <target name="-cocoon:sh" unless="isWindows"
+ depends="-cocoon:init, -cocoon:oscheck" >
+
+ <echo>Building shell scripts for support on non-windows</echo>
+ <property name="shbat" value="sh" />
+
+ <echo file="${cocoon.tool.dir}/getc2.${shbat}"><![CDATA[#!/bin/sh
+cd $COCOON_HOME
+echo running /build.sh -propertyfile $PROJECT_PROPERTIES clean webapp
-Dbuild.webapp=$PROJECT_WEBAPP -Dtools.tasks.dest=$PROJECT_TASKDEFS
+./build.sh -propertyfile $PROJECT_PROPERTIES clean webapp
-Dbuild.webapp=$PROJECT_WEBAPP -Dtools.tasks.dest=$PROJECT_TASKDEFS
+]]></echo>
+ <chmod file="${cocoon.tool.dir}/getc2.${shbat}" perm="u+x"/>
+
+ <echo file="${cocoon.tool.dir}/runc2.${shbat}"><![CDATA[#!/bin/sh
+export COCOON_WEBAPP_HOME=$PROJECT_WEBAPP
+echo COCOON_WEBAPP_HOME=$COCOON_WEBAPP_HOME
+cd $COCOON_HOME
+./cocoon.sh servlet-debug
+]]></echo>
+ <chmod file="${cocoon.tool.dir}/runc2.${shbat}" perm="u+x"/>
+ </target>
+
+ <!--
+ creates as needed batch files or shell scripts
+ -->
+ <target name="-cocoon:shbat" depends="-cocoon:bat, -cocoon:sh" />
+
+ <!--
+ checks if the cocoon dependency is holding what we expect
+ sets a variable if all is ok
+ -->
+ <target name="-cocoon:test" depends="-cocoon:init">
+ <condition property="cocoon.ok" value="true">
+ <and>
+ <available type="dir" file="${cocoon.lib}" />
+ <available classname="XConfToolTask"
+ classpath="${cocoon.tasks}"/>
+ </and>
+ </condition>
+ </target>
+
+ <!--
+ fails the build if the cocoon dependency is not met
+ -->
+ <target name="-cocoon:check" depends="-cocoon:test" unless="cocoon.ok">
+ <fail>No cocoon available. Run 'ant cocoon.get' first.</fail>
+ </target>
+
+
+ <target name="-cocoon:patch">
+ <echo>Patching ${cocoon.patch.target} with
+${cocoon.xconf.dir}/*.${cocoon.patch.src-extension} ...</echo>
+ <xpatch
+ file="${cocoon.patch.target}"
+ srcdir="${cocoon.xconf.dir}"
+ includes="**/*.${cocoon.patch.src-extension}"/>
+ </target>
+
+ <!--
+ applies the patch files in the ${cocoon.xconf.dir}
+ on the various cocoon conf files
+ -->
+ <target name="cocoon:xconf" depends="-cocoon:check">
+ <path id="cocoon.tasks.cp">
+ <pathelement path="${cocoon.tasks}" />
+ <path>
+ <fileset dir="${cocoon.lib}">
+ <include name="xalan*.jar" />
+ <include name="xerces*.jar" />
+ <include name="xml*.jar" />
+ </fileset>
+ </path>
+ </path>
+
+ <taskdef
+ name="xpatch"
+ classname="XConfToolTask"
+ classpathref="cocoon.tasks.cp"/>
+
+ <xpatch file="${cocoon.webapp}/WEB-INF/cocoon.xconf" srcdir="">
+ <include name="${cocoon.xconf.dir}/*.xconf"/>
+ </xpatch>
+
+ <antcall target="-cocoon:patch" >
+ <param name="cocoon.patch.target"
+ value="${cocoon.webapp}/WEB-INF/cocoon.xconf" />
+ <param name="cocoon.patch.src-extension"
+ value="xconf" />
+ </antcall>
+
+ <antcall target="-cocoon:patch" >
+ <param name="cocoon.patch.target"
+ value="${cocoon.webapp}/WEB-INF/logkit.xconf" />
+ <param name="cocoon.patch.src-extension"
+ value="xlog" />
+ </antcall>
+
+ <antcall target="-cocoon:patch" >
+ <param name="cocoon.patch.target"
+ value="${cocoon.webapp}/sitemap.xmap" />
+ <param name="cocoon.patch.src-extension"
+ value="xmap" />
+ </antcall>
+
+ <antcall target="-cocoon:patch" >
+ <param name="cocoon.patch.target"
+ value="${cocoon.webapp}/WEB-INF/web.xml" />
+ <param name="cocoon.patch.src-extension"
+ value="xweb" />
+ </antcall>
+ </target>
+
+ <target name="cocoon:unpatch">
+ <copy todir="${cocoon.webapp}" overwrite="true" >
+ <fileset dir="${cocoon.unpatched}">
+ <include name="WEB-INF/web.xml" />
+ <include name="WEB-INF/cocoon.xconf" />
+ <include name="WEB-INF/logkit.xconf" />
+ <include name="sitemap.xmap" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="cocoon:get" depends="-cocoon:shbat" description="Get cocoon
into this project">
+ <mkdir dir="${cocoon.webapp}" />
+ <exec executable="${cocoon.tool.dir}/getc2.${shbat}" >
+ <env key="COCOON_HOME" file="${cocoon.distro.home}" />
+ <env key="PROJECT_PROPERTIES" file="${cocoon.build.properties}" />
+ <env key="PROJECT_WEBAPP" file="${cocoon.webapp}" />
+ <env key="PROJECT_TASKDEFS" file="${cocoon.tasks}" />
+ </exec>
+ <mkdir dir="${cocoon.unpatched}" />
+ <copy todir="${cocoon.unpatched}">
+ <fileset dir="${cocoon.webapp}" >
+ <include name="WEB-INF/web.xml" />
+ <include name="WEB-INF/cocoon.xconf" />
+ <include name="WEB-INF/logkit.xconf" />
+ <include name="sitemap.xmap" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="cocoon:run" depends="-cocoon:shbat, -cocoon:check"
description="Run cocoon on the built-in jetty to test">
+ <exec executable="${cocoon.tool.dir}/runc2.${shbat}" >
+ <env key="COCOON_HOME" file="${cocoon.distro.home}" />
+ <env key="PROJECT_WEBAPP" file="${cocoon.webapp}" />
+ </exec>
+ </target>
+
+
+ <!--
+ Below are some targets that build a default project-setting which allows you
to
+ make use of the reusable targets declared in this build-script.
+
+ You can launch the 'seed' target to start-off your project.
+ -->
+ <target name="seed-check">
+ <available property="cocoonHomeOk" file="${cocoon.distro.home}" />
+ <fail unless="cocoonHomeOk" >
+ This script needs a property $${cocoon.distro.home} to be set and
+ pointing to an existing directory containing a cocoon 2.1.x distro.
+ You can set it either by providing a -D flag to ant, or
+ by adding it to a local ./user.properties.
+ </fail>
+
+ <available property="existsBuild" file="build.xml" />
+ <available property="existsLocalProps" file="${cocoon.build.properties}" />
+ <available property="existsUserProps" file="user.properties" />
+ <available property="existsCvsIgnore" file=".cvsignore" />
+ </target>
+
+ <target name="msg-seed-build" if="existsBuild">
+ <echo>build.xml exists. This script cannot overwrite it.
+ If you want to regenerate the build.xml then manually delete it prior to
running the seed target again.</echo>
+ </target>
+
+ <target name="seed-build" depends="msg-seed-build" unless="existsBuild">
+ <echo>Creating build.xml...</echo>
+ <echo file="build.xml"><![CDATA[<?xml version="1.0"?>
+<!--
+ File automatically generated by ant script for YourCocoonBasedProject.
+ Manually extend it to your own needs.
+ -->
+<project name="YourProjectName" default="init">
+ <property file="user.properties" />
+
+ <property name="src" value="src" />
+ <property name="src.java" value="${src}/java" />
+ <property name="src.cocoon" value="${src}/cocoon" />
+ <property name="src.webapp" value="${src.cocoon}/webapp" />
+
+ <property name="build" value="build" />
+ <property name="build.classes" value="${build}/classes" />
+ <property name="zipfile" value="${build}/${ant.project.name}.zip" />
+ <property name="warfile" value="${build}/${ant.project.name}.war" />
+
+ <property name="lib" value="lib" />
+
+ <property name="cocoon-build.properties"
value="${src.cocoon}/local.build.properties" />
+ <property name="cocoon-xconf.dir" value="${src.cocoon}/xconf" />
+ <property name="cocoon-tool.dir" value="tools/cocoon" />
+ <property name="cocoon.webapp" value="${cocoon-tool.dir}/webapp" />
+ <property name="cocoon.lib" value="${cocoon.webapp}/WEB-INF/lib" />
+ <property name="cocoon.classes" value="${cocoon.webapp}/WEB-INF/classes" />
+
+ <property name="cocoon-targets" value="${ant.file}" />
+ <!-- insert properties here to override defaults in the import
cocoon-targets script -->
+ <import file="$${cocoon-targets}" />
+
+ <path id="all.cp">
+ <pathelement location="${build.classes}" />
+ <fileset dir="${cocoon.lib}">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${lib}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+
+ <target name="init">
+ <mkdir dir="${build.classes}" />
+ </target>
+
+ <target name="compile" depends="init,-cocoon:check" >
+ <javac srcdir="${src.java}" destdir="${build.classes}" debug="true" >
+ <classpath refid="all.cp"/>
+ <include name="**/*.java"/>
+ </javac>
+ </target>
+
+ <target name="webapp" depends="compile, cocoon:xconf"
+ description="configure the webapp">
+ <copy todir="${cocoon.lib}">
+ <fileset dir="${lib}">
+ <include name="*.jar"/>
+ </fileset>
+ </copy>
+ <copy todir="${cocoon.classes}">
+ <fileset dir="${build.classes}" />
+ </copy>
+ <copy todir="${cocoon.webapp}">
+ <fileset dir="${src.webapp}" />
+ </copy>
+ </target>
+
+ <target name="zip" depends="init">
+ <zip zipfile="${zipfile}" basedir="." excludes="**/build/**, tools/**" />
+ </target>
+
+ <target name="war" depends="webapp" >
+ <jar destfile="${warfile}" basedir="${cocoon.webapp}" />
+ </target>
+
+</project>
+ ]]></echo>
+ </target>
+
+ <target name="seed-dirs">
+ <mkdir dir="${src.cocoon}" />
+ <mkdir dir="${src.cocoon}/webapp" />
+ <mkdir dir="${cocoon.xconf.dir}" />
+ <mkdir dir="${cocoon.tool.dir}" />
+ <mkdir dir="${cocoon.tool.dir}/webapp" />
+ <mkdir dir="src/java" />
+ <mkdir dir="lib" />
+ </target>
+
+ <target name="msg-seed-userprops" if="existsUserProps">
+ <echo>user.properties already exists. This script cannot overwrite it.
+ If you want to regenerate the user.properties then manually delete it
prior to running the seed target again.</echo>
+ </target>
+
+ <target name="seed-userprops" depends="msg-seed-userprops"
unless="existsUserProps">
+ <echo file="user.properties">#
+# File automatically generated by ant script for YourCocoonBasedProject.
+# Manually extend it to your own needs.
+#
+cocoon.distro.home=${cocoon.distro.home}</echo>
+ </target>
+
+ <target name="msg-seed-cvsignore" if="existsCvsIgnore">
+ <echo>.cvsignore already exists. This script cannot overwrite it.
+ If you want to regenerate the .cvsignore then manually delete it prior to
running the seed target again.</echo>
+ </target>
+
+ <target name="seed-cvsignore" depends="msg-seed-cvsignore"
unless="existsCvsIgnore">
+ <echo file=".cvsignore">build
+tools
+user.properties</echo>
+ </target>
+
+ <target name="msg-seed-localprops" if="existsLocalProps" >
+ <echo>${cocoon.build.properties} already exists. This script cannot
overwrite it.
+ If you want to regenerate the ${cocoon.build.properties} then manually
delete it prior to running the seed target again.</echo>
+ </target>
+
+ <target name="seed-localprops"
+ depends="msg-seed-localprops, seed-dirs"
+ unless="existsLocalProps" >
+ <concat destfile="${cocoon.build.properties}" >
+ <fileset dir="${cocoon.distro.home}">
+ <include name="build.properties" />
+ <include name="blocks.properties" />
+ </fileset>
+ </concat>
+ </target>
+
+ <target name="seed" depends="seed-check, seed-localprops, seed-cvsignore,
seed-userprops, seed-build">
+ <echo>Done.
+
+ The directory src/cocoon/webapp is created to hold your cocoon
+ webapp resources.
+ The directory src/cocoon/xconf is created to hold XConfPatch files
+ to (optionally) modify the cocoon.xconf log.xconf web.xml and
+ (root) sitemap.xmap
+
+ From here:
+ ---------
+ You should now edit the file ${cocoon.build.properties} to select
+ only those optional components of Cocoon that your project needs.
+ IMPORTANT: Remove the path-entries from that file!
+
+ The build.xml can freely be extended for your project needs.
+
+ To build a fresh Cocoon base for this project
+ (when you updated the distro pointed to by -Dcocoon.distro.home)
+ > ant cocoon:get
+
+ To blend in your own project resources and classes:
+ > ant webapp
+
+ To test-run using the Jetty container:
+ > ant cocoon:run
+ </echo>
+ </target>
+</project>
+
Added:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.png
URL:
http://svn.apache.org/viewcvs/cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.png?view=auto&rev=149502
==============================================================================
Binary file - no diff available.
Propchange:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.psd
URL:
http://svn.apache.org/viewcvs/cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.psd?view=auto&rev=149502
==============================================================================
Binary file - no diff available.
Propchange:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/files/dirlayout.psd
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/meta.xml
URL:
http://svn.apache.org/viewcvs/cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/meta.xml?view=auto&rev=149502
==============================================================================
---
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/meta.xml
(added)
+++
cocoon/whiteboard/doc-repos/2.2/src/documentation/content/xdocs/CocoonProjectAnt21/meta.xml
Wed Feb 2 01:26:44 2005
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<meta>
+ <authors>
+ <author contact="mailto:[EMAIL PROTECTED]">Helma van der Linden</author>
+ </authors>
+</meta>