# ---------------------------------------------------------
# L U C E N E  B U I L D  P R O P E R T I E S
# ---------------------------------------------------------
name=lucene
Name=Lucene
version=1.2-rc6-dev
year=2000-2002
final.name=${name}-${version}
debug=off

project.name = site
docs.src =  ./xdocs
docs.dest = ./docs

src.dir = ./src/java
demo.src = ./src/demo
demo.jsp = ./src/jsp
test.src = ./src/test
docs.dir = ./docs
lib.dir = ./lib
dist.dir=${final.name}
dist-src.dir = ${final.name}-src

# javadoc packages
packages=org.apache.lucene.*

# javadoc link
javadoc.link=http://java.sun.com/products/jdk/1.3/docs/api/

build.compiler.pedantic=false

build.dir = ./bin
build.classes = ${build.dir}/classes
build.lib = ${build.dir}/lib
build.javadocs = ${build.dir}/docs/api
build.src = ${build.dir}/src
build.encoding = ISO-8859-1

build.demo = ${build.dir}/demo
build.demo.src = ${build.demo}/src
build.demo.classes = ${build.demo}/classes
build.demo.name = ${name}-demos-${version}
build.demo.war.name = luceneweb

build.anttask = ${build.dir}/anttask
build.anttask.classes = ${build.anttask}/classes

build.docweb = ${build.dir}/docweb
build.docweb.war.name = lucenedocweb

build.test = ${build.dir}/test
build.test.src = ${build.test}/src
build.test.classes = ${build.test}/classes

junit.src = ${basedir}/src/test
junit.classes = ${build.dir}/unit-classes
junit.reports = ${build.dir}/unit-reports

# Home directory of JavaCC
javacc.home = .
javacc.zip.dir = ${javacc.home}/lib
javacc.zip = ${javacc.zip.dir}/JavaCC.zip

# Home directory of jakarta-site2
jakarta.site2.home = ../jakarta-site2
