Return-Path: Delivered-To: apmail-forrest-svn-archive@www.apache.org Received: (qmail 88252 invoked from network); 11 Apr 2005 15:39:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 11 Apr 2005 15:39:18 -0000 Received: (qmail 45361 invoked by uid 500); 11 Apr 2005 15:39:14 -0000 Delivered-To: apmail-forrest-svn-archive@forrest.apache.org Received: (qmail 45167 invoked by uid 500); 11 Apr 2005 15:39:10 -0000 Mailing-List: contact svn-help@forrest.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Forrest Developers List" Delivered-To: mailing list svn@forrest.apache.org Received: (qmail 45106 invoked by uid 99); 11 Apr 2005 15:39:09 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Mon, 11 Apr 2005 08:39:02 -0700 Received: (qmail 74797 invoked by uid 65534); 11 Apr 2005 15:12:20 -0000 Message-ID: <20050411151220.74795.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Mon, 11 Apr 2005 15:12:20 -0000 Subject: svn commit: r160902 [14/28] - in forrest/site/0.6: ./ docs/ docs/images/ dtd/ entity/ howto/ images/ skin/ skin/css/ skin/images/ skin/scripts/ skins/ To: svn@forrest.apache.org From: crossley@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Added: forrest/site/0.6/docs/faq-v20.dtdx.pdf URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/faq-v20.dtdx.pdf?v= iew=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Binary file - no diff available. Propchange: forrest/site/0.6/docs/faq-v20.dtdx.pdf ---------------------------------------------------------------------------= --- svn:mime-type =3D application/pdf Added: forrest/site/0.6/docs/forrest-contract.html URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrest-contract.h= tml?view=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- forrest/site/0.6/docs/forrest-contract.html (added) +++ forrest/site/0.6/docs/forrest-contract.html Mon Apr 11 08:11:56 2005 @@ -0,0 +1,405 @@ + + + + + + + + +Our Contract (v0.6) + + + + + + + + + +
+ + + +
+ +
+3D"Apache"= +
+ + +
+3D"For= +
+ + +
+
+ =20 + + +
+ + + + +
+
+
+
+ +
+Core | <= a class=3D"base-selected" href=3D"../docs/forrestbot.html">ForrestBot |= ForrestBar +
+ + +
+ +
+ =20 +   +
+ + +
+
Documentation
+
+
+Index +
+ + + + + + +
+
Our Contract
+
+ +
Advanced Topics
+ +
Upgrading
+ +
+
SubProjects
+ +
Reference docs
+
+
DTD documentation
+
+ + + + + + + +
+
Doc samples
+ +
+
Older Docs
+
+ +
+Libre +
+ +
+
+
+ This is documentation for past release v0.6 + (More ...)
+
+
+ +
+ + +
+
+3D"PDF
+ PDF
+
+
+ Font size:=20 +   = =20 +   +   +
+

Our Contract

+
This document describes, in a very techy bullet-st= yle way, how + to use Forrest.
+
+ This is documentation for past release v0.6 + (More ...)
+=20 + =20 +
+
Note
+
+ This document describes the formal contract between the + Forrest distribution code, hereafter referred as=20 + "Forrest", and + the Project (team) that is using it for generating + its documentation and web-site, hereafter referred to as "TheProjec= t". +
+
+ =20 +
+
Note
+
+ Some terminology will assist: {docroot} is the location + inside TheProject's file hierarchy where all documentation related + resources are stored. Usually {docroot} equals to + {projecthome}/src/documentation + =20 +
+
=20 + + =20 + +

Forrest will:

+
+

Provide infrastructure ...

+
    =20 + =20 +
  • Provide document type definitions (DTDs), skins, default sitemaps, + Cocoon pipelines. +
  • + =20 +
  • Provide a willing team of supporting developers at the forrest-dev + mail list. +
  • + =20 +
  • Use Cocoon to generate the HTML and PDF documentation for + TheProject.
  • =20 + =20 +
+
+ + =20 + +

TheProject must:

+
+

Provide content and configuration ...

+
    =20 + =20 +
  • Provide XML content in {docroot}/content/xdoc= s + according to the Forrest DTDs or one of the other input formats. +
  • =20 + =20 +
  • Provide navigation metadata using the configuration files + site.xml and tabs.xml + =20 +
  • + =20 +
  • Provide the skin configuation file in + {projecthome}/skinconf.xml + =20 +
  • + =20 +
+
=20 + + =20 + +

TheProject can:

+
+

Add extra abilities ...

+
    =20 + =20 +
  • Provide its own skin in + {docroot}/skins/{your-skin-name}= (Check the current + Forrest skins and the related pipelines to see what they are doi= ng. + Bear in mind that the provided skins are able to be configured a= nd + may already meet your needs.)
  • =20 + =20 +
  • Provide own DTDs to handle other specialised document types in + {docroot}/resources/schema/dtd=20 + =20 +
      =20 + =20 +
    • and extra stylesheets to convert own grammar to the + intermediate 'document' structure.
    • =20 + =20 +
    • and declare those extra DTDs in + {docroot}/resources/schema/catalog.= xcat +
    • =20 + =20 +
    + =20 +
  • =20 + =20 +
  • Provide its own overwriting versions of sitemaps + ({docroot}/sitemap.xmap and othe= r *.xmap files) + ... (be sure you know what you are doing since you are then leav= ing + the area where other Forresters can help you out. +
  • =20 + =20 +
+
=20 + =20 +
+ +
 
+
+
+ +
+ +
+
+ Copyright © 2002-2004 The Apache Software Foundation.
+ +
+ + Propchange: forrest/site/0.6/docs/forrest-contract.html ---------------------------------------------------------------------------= --- svn:eol-style =3D native Added: forrest/site/0.6/docs/forrest-contract.pdf URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrest-contract.p= df?view=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Binary file - no diff available. Propchange: forrest/site/0.6/docs/forrest-contract.pdf ---------------------------------------------------------------------------= --- svn:mime-type =3D application/pdf Added: forrest/site/0.6/docs/forrestbar.html URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbar.html?vi= ew=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- forrest/site/0.6/docs/forrestbar.html (added) +++ forrest/site/0.6/docs/forrestbar.html Mon Apr 11 08:11:56 2005 @@ -0,0 +1,320 @@ + + + + + + + + +The ForrestBar (v0.6) + + + + + + + + + +
+ + + +
+ +
+3D"Apache"= +
+ + +
+3D"For= +
+ + +
+
+ =20 + + +
+ + + + +
+
+
+
+ +
+Core | <= a class=3D"base-selected" href=3D"../docs/forrestbot.html">ForrestBot |= ForrestBar +
+ + +
+ +
+ =20 +   +
+ + +
+
Documentation
+ +
SubProjects
+
+
+
ForrestBar
+
+ + +
+
Reference docs
+
+
DTD documentation
+
+ + + + + + + +
+
Doc samples
+ +
+
Older Docs
+
+ +
+Libre +
+ +
+
+
+ This is documentation for past release v0.6 + (More ...)
+
+
+ +
+ + +
+
+3D"PDF
+ PDF
+
+
+ Font size:=20 +   = =20 +   +   +
+

The ForrestBar

+
+ This is documentation for past release v0.6 + (More ...)
+ +=20 + +

What's the Forrestbar?

+
+

The Forrestbar is a toolbar made for Mozilla=20 + (and Firefox compatible) + that eases the navigation of Apache=20 + projects and resources, and to the local Forrest running on your = machine.

+
+ =20 + +

Installing the Forrestbar

+
+
+
Note
+
Forrestbar does not currently work with Firefox 0.9= +
+
+

To install the latest nightly version brought to you by=20 + Gump in <= a class=3D"external" href=3D"http://www.mozilla.org/">Mozilla + or Firefox, just=20 + + install it or download it + and drop it on a mozilla window.

+

To get the latest and greatest version run the forrestbar target of the= Forrest build.

+
+ =20 +
+ +
 
+
+
+ +
+ +
+
+ Copyright © 2002-2004 The Apache Software Foundation.
+ +
+ + Propchange: forrest/site/0.6/docs/forrestbar.html ---------------------------------------------------------------------------= --- svn:eol-style =3D native Added: forrest/site/0.6/docs/forrestbar.pdf URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbar.pdf?vie= w=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Binary file - no diff available. Propchange: forrest/site/0.6/docs/forrestbar.pdf ---------------------------------------------------------------------------= --- svn:mime-type =3D application/pdf Added: forrest/site/0.6/docs/forrestbar.xpi URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbar.xpi?vie= w=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Binary file - no diff available. Propchange: forrest/site/0.6/docs/forrestbar.xpi ---------------------------------------------------------------------------= --- svn:mime-type =3D application/octet-stream Added: forrest/site/0.6/docs/forrestbot-web-interface.html URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbot-web-int= erface.html?view=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- forrest/site/0.6/docs/forrestbot-web-interface.html (added) +++ forrest/site/0.6/docs/forrestbot-web-interface.html Mon Apr 11 08:11:56= 2005 @@ -0,0 +1,492 @@ + + + + + + + + +Forrestbot Web Interface (v0.6) + + + + + + + + + +
+ + + +
+ +
+3D"Apache"= +
+ + +
+3D"For= +
+ + +
+
+ =20 + + +
+ + + + +
+
+
+
+ +
+Core | <= a class=3D"base-selected" href=3D"../docs/forrestbot.html">ForrestBot |= ForrestBar +
+ + +
+ +
+ =20 +   +
+ + +
+
Documentation
+ +
SubProjects
+
+ + +
+
Forrestbot Webapp
+
+
+
Reference docs
+
+
DTD documentation
+
+ + + + + + + +
+
Doc samples
+ +
+
Older Docs
+
+ +
+Libre +
+ +
+
+
+ This is documentation for past release v0.6 + (More ...)
+
+
+ +
+ + +
+
+3D"PDF
+ PDF
+
+
+ Font size:=20 +   = =20 +   +   +
+

Forrestbot Web Interface

+
+ This is documentation for past release v0.6 + (More ...)
+ + =20 +

This webapp implements a website staging application for sites built wi= th + Apache Forrest. The webapp hosts HTML for a number of managed websites= . The + user can regenerate these sites at will. Once the user is satisfied wi= th the + site, they may 'deploy' the site, making it live.

+ + =20 + +

Build

+
+

To build the webapp from source, you need Apache Maven installed. From a + command prompt, go to the forrest/src/forre= stbot/webapp + directory and execute "maven war". +

+ + =20 + +

Requirements

+
+
    + =20 +
  • Forrest
  • + + =20 +
  • A servlet container such as Apache Tomcat +
  • + + =20 +
  • Directories for:
  • + + =20 +
      + =20 +
    • forrestbot buildfiles
    • + + =20 +
    • source and working files
    • + + =20 +
    • log files
    • + + =20 +
    • built websites (this is not their deployed location)
    • + =20 +
    + + =20 +
  • A webserver to view the sites in the build directory
  • + =20 +
+

The server does not need local access to the sites' source nor final + deployed location. The buildfiles configure the transfer of those + files.

+
+ + =20 + +

Installation

+
+
+
Note
+
Most of this configuration is related to the OpenSymphony O= SUser + authentication layer.
+
+
    + =20 +
  1. Extract the war to an empty directory
  2. + + =20 +
  3. Modify welcome.local.html
  4. + + =20 +
  5. Modify WEB-INF/classes/osuser.xml if you want to use an + authenticator other than XML files
  6. + + =20 +
  7. Modify projects.xml, groups.xml, and users.xml (all in + WEB-INF/classes) according to your needs
  8. + + =20 +
  9. Optionally modify logging via WEB-INF/classes/log4j.properties
  10. + + =20 +
  11. Modify WEB-INF/classes/settings.properties according to the server's + specific setup
  12. + + =20 +
  13. Deploy the webapp in Tomcat or some other servlet container (you may + want to repackage the war file)
  14. + + =20 +
  15. Make sure tomcat has permissions to write in forrestbot's build, + work, and log directories.
  16. + =20 +
+

Optional: set up "cron jobs" to execute forrestbot. This is completely + independant of the forrestbot web interface, but is often useful. A + suggested practice is to build the sites regularly and deploy them as + desired through the web interface.

+
+ + =20 + +

FAQ

+
+ +

The build and/or deploy commands don't seem to = work

+
+
Warning
+
The only environment variable available is FORREST_= HOME, which + is set by forrest-home in the settings.properties file. Use a wrap= per + script (see below) if you need other environment variables.
+
+

Currently forrestbot only logs the forrest part of it's execution, + not the whole thing. And the web interface starts a forrestbot pro= cess + and doesn't watch it's progress directly.

+

Set debug-exec=3Dtrue in settings.properties and make sure + log4j.properties logs at the DEBUG level. This will log all the th= read + output.

+

Then look at the debugging output for the command executed and the + working directory used. Log into the server as the use the Tomcat = server + uses and cd to the working directory and then execute the command.= This + will fairly accurately simulate what the web interface does.

+ +

Can I do anything with this besides just runnin= g the + forrestbot?

+

Sure. Create a wrapper script and specify it as forrest-exec in + settings.properties. Here's an example:

+
#!/bin/bash
+
+# get env vars
+=2E /home/user/.profile
+
+# group writable for easier sharing of files with others who run forrestbot
+umask g+w
+
+# you can preprocess something here
+xmlfile=3D$2
+if [ "${xmlfile##*.}" =3D "xml" ]                # everything after last .
+then
+    target=3D$3
+    if [ "$target" !=3D "deploy" ]                # don't run preprocess t=
ask on a deploy
+    then
+        projectTarget=3D${xmlfile%.*}               # everything before la=
st .
+        # do something special for $projectTarget here
+    fi
+else
+        echo "Syntax: forrest_wrapper.sh -f myapp.xml [build|deploy|...]"
+        exit
+fi
+
+# run forrest(bot) with all the parameters
+forrest $*
+
+# you can postprocess something here
+
+ + =20 + +

TODO Wishlist

+
+
    + =20 +
  • seperate authorization of 'build' and 'deploy'
  • + + =20 +
  • log everything, not just the build
  • + + =20 +
  • view old log files
  • + + =20 +
  • ability to reload all config files on the fly
  • + + =20 +
  • put date at top of viewlog_body page
  • + =20 +
+
+ =20 +
+ +
 
+
+
+ +
+ +
+
+ Copyright © 2002-2004 The Apache Software Foundation.
+ +
+ + Propchange: forrest/site/0.6/docs/forrestbot-web-interface.html ---------------------------------------------------------------------------= --- svn:eol-style =3D native Added: forrest/site/0.6/docs/forrestbot-web-interface.pdf URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbot-web-int= erface.pdf?view=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Binary file - no diff available. Propchange: forrest/site/0.6/docs/forrestbot-web-interface.pdf ---------------------------------------------------------------------------= --- svn:mime-type =3D application/pdf Added: forrest/site/0.6/docs/forrestbot.html URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbot.html?vi= ew=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- forrest/site/0.6/docs/forrestbot.html (added) +++ forrest/site/0.6/docs/forrestbot.html Mon Apr 11 08:11:56 2005 @@ -0,0 +1,1210 @@ + + + + + + + + +Forrestbot (v0.6) + + + + + + + + + +
+ + + +
+ +
+3D"Apache"= +
+ + +
+3D"For= +
+ + +
+
+ =20 + + +
+ + + + +
+
+
+
+ +
+Core | <= a class=3D"base-selected" href=3D"../docs/forrestbot.html">ForrestBot |= ForrestBar +
+ + +
+ +
+ =20 +   +
+ + +
+
Documentation
+ +
SubProjects
+
+ +
+
Forrestbot
+
+ +
+
Reference docs
+
+
DTD documentation
+
+ + + + + + + +
+
Doc samples
+ +
+
Older Docs
+
+ +
+Libre +
+ +
+
+
+ This is documentation for past release v0.6 + (More ...)
+
+
+ +
+ + +
+
+3D"PDF
+ PDF
+
+
+ Font size:=20 +   = =20 +   +   +
+

Forrestbot

+
+ This is documentation for past release v0.6 + (More ...)
+ + =20 + +

Overview

+
+

Forrestbot lets you automate building & deploying websites. There + are implementations to get source from various locations, build it, = then + deploy it somewhere. It can notify you afterwards, and it keeps a lo= g of + the build process. Each workstage has multiple implementations; you = can + use one or more of each.

+
+ + =20 + +

Using Forrestbot

+
+

Simply execute:

+
forrest -f mybuildfile.xml
+

The next section explains how to create your buildfile.

+
+ + =20 + +

Creating a buildfile

+
+

A sample buildfile:

+
<project name=3D"mysampleproject" default=3D"main"&=
gt;
+	<property name=3D"notify.email.host" value=3D"smtp.myhost.com"/>
+	<property name=3D"notify.email.to" value=3D"me@domain.com"/>
+	<property name=3D"notify.administrator" value=3D"Your Name &lt;me@=
domain.com>"/>
+	<property name=3D"getsrc.cvs.user" value=3D"anoncvs"/>
+	<property name=3D"getsrc.cvs.password" value=3D"anoncvs"/>
+	<property name=3D"getsrc.cvs.root" value=3D"/home/cvspublic"/>
+	<property name=3D"getsrc.cvs.host" value=3D"cvs.myhost.com"/>
+	<property name=3D"getsrc.cvs.module" value=3D"myproject"/>
+	<property name=3D"deploy.scp.dest" value=3D"username@myhost.com:/var/w=
ww/mydomain/htdocs"/>
+
+	<!-- here we specify to use two notification implementations -->
+	<target name=3D"notify" depends=3D"notify.local, notify.email"/>
+
+	<!-- here we specify to deploy with the scp implementation -->
+	<target name=3D"deploy" depends=3D"deploy.scp"/>
+
+	<!-- the default implementation for getsrc is getsrc.cvs, which is wha=
t we want -->
+
+	<!-- assumes FORREST_HOME has been set as an environment variable --&g=
t;
+	<property environment=3D"env"/>
+	<import file=3D"${env.FORREST_HOME}/../forrestbot/core/forrestbot.xml"=
/>
+</project>
+
+
+

First, set properties needed by the workstages you are going to use. + Here, we set properties that will be used by notify.email and getsrc= .cvs. + Next, specify what implementations will be used by each workstage. + + =20 + + =20 + + + + =20 + + + =20 + + =20 + + + + =20 + + + =20 + + =20 + + + + =20 + + + =20 + + =20 + + + + =20 + + + =20 + + =20 + + + + =20 + + =20 +
WorkstageImplementations
getsrc + +
build + +
deploy + +
notify + +
+

If you want to do more advanced processing for your project, you can + override the 'main' target, which by default is <target + name=3D"main" depends=3D"getsrc, build, deploy, notify"/>,= create + your own implementation of a workstage, or use any other ant tasks t= o do + additional work.

+

+

Many workstages use usernames and passwords. You may want to keep them + out of your project's xml file (especially if you store that file in= CVS + or SVN). A nice way to do this is make a simple buildfile (e.g. + my-settings.xml) that just sets those properties (don't include it in + CVS/SVN!). Then in your project buildfile, have <import + file=3D"my-settings.xml"/>.

+ +

Workstage Properties

+

Each workstage implementation is configurable with properties. The + following tables describe each property and whether or not you are + required to set it in your buildfile.

+ +

Misc Properties

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
ant.project.name (you specify this by <= project + name=3D"____"> in your buildfile)This must be unique for each= project.Yes
+ +

getsrc.clean-workdir

+

This should be executed before a getsrc implementation is executed. + For example, <target name=3D"getsrc" + depends=3D"getsrc.clean-workdir, getsrc.svn"/> +

+ +

getsrc.local

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
getsrc.local.root-dirAbsolute path to the project= 's root directory on the local + computerYes
+ +

getsrc.cvs

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
getsrc.cvs.userCVS usernameYes
getsrc.cvs.passwordCVS passwordYes
getsrc.cvs.rootCVS root directory/home/cvsrootYes
getsrc.cvs.hostCVS hostcvs.apache.orgYes
getsrc.cvs.moduleCVS module name (an alias, o= r full path) to the directory that + contains forrest.properties${ant.project.name}Yes
getsrc.cvs.tagCVS tag or branch nameNo
+ +

getsrc.svn

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
getsrc.svn.urlFull repository URL for proj= ect (this directory must contain + forrest.properties)Yes
getsrc.svn.revisionRevision number to fetchHEADNo
+ +

build.forrest

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
build.work-dirDirectory to temporarily hol= d working filesworkNo
build.log-dirDirectory to hold log files<= /td> + + logsNo
+ +

deploy.local

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
deploy.local.dirPath to deploy site to. Rela= tive paths will be relative to + ${bot.home}sites/${ant.project.name} + + No
+ +

deploy.scp

+

${user.home}/.ssh/known_hosts must properly recognize the host, so + you should manually make an ssh connection to the host if you ne= ver + have before.

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
deploy.scp.destFull destination reference i= n the format + user@host:/directory/pathYes
deploy.scp.passwordPassword for user@hostNo. You will be prompted for= it if it is not set.
+ +

deploy.cvs

+

This is only available on *nix operating systems.

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
deploy.cvs.userCVS username to use when com= mitting changesYes
deploy.cvs.passwordCVS passwordYes
deploy.cvs.rootCVS root/home/cvsYes
deploy.cvs.hostCVS hostcvs.apache.orgYes
deploy.cvs.moduleCVS module${ant.project.name}Yes
deploy.cvs.commit-messageMessage to use when committi= ng. You probably want to put a + machine name or person's name here.Automatic publish from forre= stbotNo
+ +

deploy.svn

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
deploy.svn.userSVN username to use when com= mitting changesYes
deploy.svn.passwordSVN passwordYes
deploy.svn.urlFull repository URLYes
deploy.svn.commit-messageMessage to use when committi= ng. You probably want to put a + machine name or person's name here.Automatic publish from forre= stbotNo
+ +

notify

+

These settings are used by all notify implementations.

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
notify.administratorName and email address of th= e forrestbot administratorYes
notify.on.failureOn a build failure, notifica= tion will happen if this is + true.trueNo
notify.on.successOn a succesful build, notifi= cation will happen if this is + true.trueNo
notify.logLog fileNo. Set by other workstage(s= )=2E
notify.deploy-locationDeployed locationNo. Set by other workstage(s= )=2E
notify.completion-statusResult of the buildNo. Set by other workstage(s= )=2E
+ +

notify.local

+

No properties.

+ +

notify.email

+ + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + + + =20 + + + =20 + + =20 + + + + + + =20 + + =20 +
PropertyDescriptionDefault ValueRequired?
notify.email.hostSMTP host through which the = email will be sent.localhostYes
notify.email.toEmail address to send notifi= cation to.${user.name}@localhostYes
notify.email.fromFrom: address in the email + + ForrestbotNo, but some mailers may req= uire a valid email address.
+
+ + =20 + +

Forrestbot design

+
+

Forrest and forrestbot use ant buildfiles extensively. Ant 1.6's import + task is used to import multiple buildfiles into a single build. The + following is the flow of control when running forrestbot:

+
    + =20 +
  • Your buildfile
      + =20 +
    • forrestbot.xml
        + =20 +
      • workstage buildfiles
      • + + =20 +
      • forrest.build.xml
      • + =20 +
      +
    • + =20 +
    +
  • + =20 +
+

The workstage buildfiles set up the properties and files so that the + main forrest buildfile (forrest.build.xml) will run. After it is run, + other workstages buildfiles can implement reporting, deployment, or = other + post-build activities.

+

Your buildfile can specify which workstages you want to use, set + properties for them, and do any additional pre- and post-processing.=

+
+ =20 +
+ +
 
+
+
+ +
+ +
+
+ Copyright © 2002-2004 The Apache Software Foundation.
+ +
+ + Propchange: forrest/site/0.6/docs/forrestbot.html ---------------------------------------------------------------------------= --- svn:eol-style =3D native Added: forrest/site/0.6/docs/forrestbot.pdf URL: http://svn.apache.org/viewcvs/forrest/site/0.6/docs/forrestbot.pdf?vie= w=3Dauto&rev=3D160902 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D Binary file - no diff available. Propchange: forrest/site/0.6/docs/forrestbot.pdf ---------------------------------------------------------------------------= --- svn:mime-type =3D application/pdf