#
# TestNG distribution
#
testng.basename=testng
testng.version=6.6beta
testng.fullname=${testng.basename}-${testng.version}

#
# Global directories
#
root.dir=${basedir}
build.3rdparty.dir=${root.dir}/build3rdparty
build.maven-bundle.dir=${build.dir}/maven-bundle
target=${root.dir}/target
lib.dir=${basedir}/lib
lib-supplied.dir=${basedir}/lib-supplied
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
guice2.jar=guice-2.0.jar
junit.jar=junit-4.10.jar
ant.jar=ant-1.7.0.jar
jcommander.jar=jcommander-1.13.jar
yaml.jar=snakeyaml-1.6.jar

all.jar.files=${beanshell.jar},${junit.jar},${ant.jar},${jcommander.jar},${yaml.jar},${guice2.jar}

#
# Names of distributions
#
testng.jar=${target}/${testng.fullname}.jar
testng.dist.jar=${testng.fullname}-dist.jar
sources.testng.jar=${testng.fullname}-sources.jar
testng.junit.jar=${testng.fullname}-junit.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
testng.javadoc.zip=${testng.fullname}-javadoc.zip

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
