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=reports
run.dir=run

# 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
xdb.jar=xdb.jar
xmlparser.jar=xmlparserv2.jar

# 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
