BuildingTapestry

Tapestry 4.0 is now available as a packaged release... but for the brave and the foolhardy, there's the question of building it from source.

Check out the current trunk using:

svn co http://svn.apache.org/repos/asf/tapestry/tapestry4/trunk tapestry-trunk

A set of Ant build files was created for HiveMind, called "HiveBuild". They are designed to be reasonably reused; that's what Tapestry does.

At this moment, Tapestry builds against HiveMind 1.1.1. You will need to get HiveMind from [WWW] http://jakarta.apache.org/site/downloads/downloads_hivemind.cgi

You also need Ant 1.6.2 and JDK 1.5. If you want to build the documentation, you also need to download and install Apache Forrest from [WWW] http://xml.apache.org/forrest/ (latest from trunk, i.e. 0.8-dev, works fine).

Before building Tapestry, you must tell Tapestry's build scripts where the HiveBuild scripts (from HiveMind are).

Inside tapestry-trunk/config create a build.properties file:

hivebuild.dir=c:/workspace/jakarta-hivemind/hivebuild

Adjust the path as necessary. It must be the absolute path to the hivebuild directory.

From the tapestry-trunk directory, you should be able to build (ant install). Nearly all intermediate files (such as compiled class files) are copied into tempdir/tapestry ... typically C:/WINDOWS/TEMP/tapestry (or C:/Documents and Settings/YourUserName/Local Settings/Temp/tapestry). Ant will automatically download various dependencies from the Maven repository on ibiblio. You might have to run it a couple of times, dependending on what it has to download (it has to stop after copying certain libraries into Ant's lib directory).

If it complains it can't download the hivemind libraries this is because the version you have needs a non-released version of hivemind. Check out hivemind from subversion and build it with Ant. Then copy the jars from target/ to the ext-package/lib folder under tapestry.

Note about building multiple versions on the same machine: Build files are cached in the tapestry temp build directory. You may need to manually delete the temp directory before building a different version to prevent cross-contamination (e.g. weird compile errors).

To build Tapestry without running the unit-tests, do ant -Dhivebuild.skip-tests=true install.

After an install you can build documentation (ant site). This does three things:

After building the site target the first time, if you just change some xdoc documentation, you can use the target fast-site. That skips the middle step, which is much faster (a few seconds for the copy, about a minute to run Forrest).

In addition, after building the site the first time, you can use the live-site target. This is very powerful ... it starts up Jetty and Cocoon and runs the Tapestry site live!. You can access the live site via [WWW] http://localhost:8888.

When you make changes to source XML files (including site.xml and tabs.xml), you execute (in a new window) ant copy-documentation-to-composite, at which point, the changes will be visible to the live site. This makes it very, very quick and easy to make small changes and see them almost immediately

last edited 2007-06-30 02:41:18 by NickWestgate