# $Id$
# This file is used to configure the Tapestry build.
# Copy it as "build.properties" and fill in the necessary data.

# The absolute path to the directory containing the JBoss installation.
# Required to execute the configure and run-jboss targets.
jboss.dir=

# The absolute path to the directory containing the Tomcat installation.
# Required to execute the deploy-tomcat target.
# 
tomcat.dir=

# The absolute path to the directory containing the Jetty installation.
# Required to execute the run-workbench target.
jetty.dir=

# The absolute path to the JAR containing the J2EE libraries
# (javax.ejb).

j2ee.jar.path=

# The absolute path to the JAR containing the Java Servlet API
# (javax.servlet).

servlet.jar.path=
