custom = true
#
# Edit these properties to point to your local jars.
junit.lib=../../../extension.lib.external/junit.jar
tools.lib=${env.JAVA_HOME}/lib/tools.jar

# Set javac.debug to "true" to enable debug attributes like lines, variables and source-filename
# Set javac.optimize to "on" to enable cpmpiler optimizations
# Set javac.deprecation to "on" to enable deprecation messages during compile
# Set javac.version when you would like to override the java version during testing
javac.debug=true
javac.debuglevel=lines,vars,source
javac.optimize=off
javac.deprecation=off
javac.version=1.6

# Database platform Property defaults
db.ddl.create=true
db.ddl.drop=true
db.ddl.debug=false

# Do not edit the variables below
# They may, however, be overridden in parent scripts
#     Static Definitions
# -----------------------------------
release.version=2.5.3
src.dir=src
classes.dir=classes
resource.dir=resource
plugins.dir=plugins
report.dir=reports

# Dependency Definitions
# -----------------------------------
asm.prefix=org.eclipse.persistence.asm
dbwsbldr.prefix=org.eclipse.persistence.dbws.builder
servlet.prefix=javax.servlet
ddlparser.prefix=org.eclipse.persistence.oracleddlparser
wsdl.prefix=javax.wsdl
# Runtime
activation.prefix=javax.activation
mail.prefix=javax.mail
soap.prefix=javax.xml.soap

# Upper limit 5.0.0 simply to allow room, could be 10.0
# Will find latest checked in version (as long as lower than upper limit).
asm.criteria=[3.3.1,5.0.0)
dbwsbldr.criteria=[2.4.0,5.0.0)
servlet.criteria=[1.0.0,5.0.0)
ddlparser.criteria=[1.0.0,5.0.0)
wsdl.criteria=[1.6.2,5.0.0)
# Runtime
activation.criteria=[1.1.0,5.0.0)
mail.criteria=[1.4.0,5.0.0)
soap.criteria=[1.3.0,5.0.0)

#     Build Artifact Definitions
# -----------------------------------
dbwsutils.jar=eclipselink-dbwsutils.jar
dbwsbldrtest.jar=eclipselink-dbwsbldr-tests.jar
eclipselink.jar=eclipselink.jar
persistence.jar=javax.persistence_unsigned_for_testing_1.0.0.jar
