## JBoss Server Testing Environment Properties.

## Standard server properties.
server.platform=JBoss
server.platform.class=jboss-platform
server.factory=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
server.depend=jbossall-client.jar

jboss.server=${jboss.home}/server/default
jboss.deploy.dir=${jboss.home}/server/default/deploy
server.lib=${jboss.home}/client
server.url=jnp://localhost:1099/
server.user=admin
server.pwd=admin

## JBoss 4.2.x.specific properties.
#jboss.home=../../../jboss-4.2.3.GA
#server.testrunner=TestRunner/remote
#persistence10.jar=${jboss.server}/lib/ejb3-persistence.jar

## JBoss 5.1.x specific properties.
jboss.home=C:/jboss-5.1.0.GA
server.testrunner=TestRunner/remote-org.eclipse.persistence.testing.framework.server.TestRunner
server.testrunner1=TestRunner1/remote-org.eclipse.persistence.testing.framework.server.TestRunner1
server.testrunner2=TestRunner2/remote-org.eclipse.persistence.testing.framework.server.TestRunner2
server.testrunner3=TestRunner3/remote-org.eclipse.persistence.testing.framework.server.TestRunner3
server.testrunner4=TestRunner4/remote-org.eclipse.persistence.testing.framework.server.TestRunner4
server.testrunner5=TestRunner5/remote-org.eclipse.persistence.testing.framework.server.TestRunner5
server.testrunner.wdf=ServerTestRunner/remote-org.eclipse.persistence.testing.framework.wdf.server.ServerTestRunner
persistence10.jar=${jboss.home}/common/lib/ejb3-persistence.jar

# The following only for JBoss-eap 5.0 testing,and it actually point to JPA1.0 unsigned jar (javax.persistence_unsigned_for_testing_1.0.0.jar),
# and this jar will be added at very beginning of client classpath
server.persistence20.lib=${jboss.server}/lib
server.persistence20.jar=${persistence10.jar}
