#/*******************************************************************************
#* This program and the accompanying materials are made available under the terms of
#* the Eclipse Public License v1.0, which accompanies this distribution and is available at
#* http://www.eclipse.org/legal/epl-v10.html.
#*
#* Contributors:
#*     Oracle - initial API and implementation
#******************************************************************************/

#set defaults for values that should already be set
_productName=EclipseLink MW Test
release.version=2.5.2
javac.version=1.6

# Defines for basic build directories.
_buildLogDir=${basedir}/logs
_publishDir=${basedir}

# Defines for build directories.
libDir=${basedir}/../eclipselink.utils.workbench.lib/mwtest
utilityDir=${basedir}/utility
uitoolsDir=${basedir}/uitools
frameworkDir=${basedir}/framework
platformspluginDir=${basedir}/platformsplugin
mappingspluginDir=${basedir}/mappingsplugin
scpluginDir=${basedir}/scplugin

# Define for eclipselink.jar location
_eclipselinkJar=../../../eclipselink.jar

# Defined jarfile names.
workbench.jarfile=workbench_test.jar
workbench.jarfile.src=workbench_test_src.jar

# JUnit classpath
# Update the following whenever /mwtest/.classpath changes.
junit.classpath= \
    ${basedir}/../mwdev/jlib/mw/elmwcore.jar; \
    ${basedir}/../mwdev/jlib/mw/eclipselinkmw.jar; \
    ${basedir}/../mwdev/config; \
    ${basedir}/jlib/mwtest/workbench_test.jar; \
    ${_eclipselinkJar}; \
    ${basedir}/jlib/compile/packageRename.jar; \
    ${basedir}/jlib/compile/ant.jar; \
    ${junit.lib}; \
    ${basedir}/uitools/resource;\
    ${basedir}/framework/resource; \
    ${basedir}/mappingsplugin/resource; \
    ${basedir}/scplugin/resource; \
    ${basedir}/jlib/jdbc; \
    ${basedir}/jlib/run/connector.jar;
