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.driver=oracle.jdbc.OracleDriver
db.platform=org.eclipse.persistence.platform.database.oracle.Oracle11Platform
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.2
src.dir=src
classes.dir=classes
resource.dir=etc
plugins.dir=plugins
report.dir=report
run.dir=run
stage.dir=stage

# 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
# -----------------------------------
ejb.jar=javax.ejb_3.0.0.v200906010428.jar
persistence.jar=javax.persistence_unsigned_for_testing_1.0.0.jar
#org.eclipse.persistence.antlr_2.0.0.qualifier.jar
#org.eclipse.persistence.asm_2.0.0.qualifier.jar
#org.eclipse.persistence.core_2.0.0.qualifier.jar
#org.eclipse.persistence.dbws_2.0.0.qualifier.jar
#org.eclipse.persistence.jpa_2.0.0.qualifier.jar
#org.eclipse.persistence.moxy_2.0.0.qualifier.jar
#org.eclipse.persistence.oracle_2.0.0.qualifier.jar
dbwsutils.jar=eclipselink-dbwsutils.jar
dbwsbldrorcltst.jar=eclipselink-dbwsbldr-orcl-tests.jar
eclipselink.jar=eclipselink.jar
