root.dir=${basedir}

build.3rdparty.dir=${root.dir}/build3rdparty
build.maven-bundle.dir=${build.dir}/maven-bundle
target=${root.dir}/target

#classes=${build.dir}

lib.dir=${basedir}/lib
src.dir=${basedir}/src/main/java
src.resources.dir=${basedir}/src/main/resources
build.dir=${target}/classes
test.dir=${basedir}/src/test/java
test.build.dir=${target}/test-classes
test.output.dir=${target}/test-output
test.resources.dir=${basedir}/src/test/resources
example.dir=${basedir}/examples

#
# Jar files
#
beanshell.jar=bsh-2.0b4.jar
guice.jar=guice-2.0.jar
junit.jar=junit-3.8.1.jar
ant.jar=ant-1.6.5.jar
jcommander.jar=jcommander-1.5.jar

#
# Names of distributions
#
testng.basename=testng
testng.version=5.14
testng.fullname=${testng.basename}-${testng.version}
testng.jar=${target}/${testng.fullname}.jar
sources.testng.jar=${testng.fullname}-sources.jar
testng.nobsh.noguice.jar=${testng.fullname}-nobsh-noguice.jar
testng.bsh.noguice.jar=${testng.fullname}-bsh-noguice.jar
testng.nobsh.guice.jar=${testng.fullname}-nobsh-guice.jar
testng.ibiblio.jar=${testng.fullname}-bundle.jar
testng.zip=${target}/${testng.fullname}.zip
testng.maven-bundle=${target}/${testng.fullname}-bundle.jar

other.jars.dir=${target}/other-jars

#
# Test locations
#
test.location.msg=Test results can be found in\n\
test/test-output/index.html

#
# Eclipse plug-in
#
testng-eclipse.dir=../testng-eclipse

#
# Maven plug-in version
# Note, this version number is appended to the resulting plug-in jar
#
testng-maven.version=1.2

#
# JDK 1.4 for sanity checking before a distribution
#
java14.home=jdk-1.5.0_04
#java14.home=c:/java/jdk-1.4.2_08
