# -----------------------------------------------------------------------------
# build.properties
#
# This is an example "build.properties" file, used to customize building OpenEJB
# for your local environment.  Make any changes you need, and rename this file
# to "build.properties" in the same directory that contains the top level
# "build.xml" file.
#
# A note about the slash-backslash glitch:
# ----------------------------------------
#
# There is no need to use double blackslashes at all!
# This means you can even use forward slashes in java
# properties files etc. It has to work, believe me!
#
# Contributions by:
#
# Daniel S. Haischt <sirabyss@gmx.net>
#
# $Id$
# -----------------------------------------------------------------------------

# -----------------------------
# B A S I C   S E T T I N G S
# -----------------------------
name            = OpenEJB
version         = 1.0
project         = openejb
package         = org.openejb.${project}
build.dir       = ./build
src.dir         = ./src
conf.dir        = ./conf
javadoc.destdir = ./docs/apidocs
docs.src        = ${src.dir}/doc
docs.dest       = ./docs
openejb.jars    = ./lib
junit.fork      = false
year            = 2000-2004
copyright       = OpenEJB Project
url             = http://www.openejb.org
build.compiler  = modern
debug           = on
optimize        = off
deprecation     = off

# The path that is base for the rest of the paths in this file.
base.path=.

