# The pathname of the "junit.jar" JAR file
junit.jar = ${junit.home}/junit-3.7.jar

# The name of this component
component.name = commons-lang

# The primary package name of this component
component.package = org.apache.commons.lang

# The title of this component
component.title = Core Language Utilities

# The current version number of this component
component.version = 2.0-rc2

# The name that is used to create the jar file
final.name = ${component.name}-${component.version}

# The base directory for compilation targets
build.home = target

# The base directory for component configuration files
conf.home = src/conf

# The base directory for distribution targets
dist.home = dist

# The base directory for component sources
source.home = src/java

# The base directory for unit test sources
test.home = src/test

# Should Java compilations set the 'debug' compiler option?
compile.debug = true

# Should Java compilations set the 'deprecation' compiler option?
compile.deprecation = true

# Should Java compilations set the 'optimize' compiler option?
compile.optimize = true

# Should all tests fail if one does?
test.failonerror = true

# The test runner to execute
test.runner = junit.textui.TestRunner
