#/*******************************************************************************
#* 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
_LibraryName=EclipseLink Mapping Workbench Mappings Plug-in Tests
_productName=EclipseLink
release.version=2.5.3
javac.version=1.6

# Defines for basic build directories. 
_classesDestDir=${basedir}/classes
_libDir=${basedir}/../../eclipselink.utils.workbench.lib
_mwdevLibDir=${_libDir}/mw
_jarDestDir=${_libDir}/mwtest
_rootResourceDir=${basedir}/resource
_rootSourceDir=${basedir}/source

# Define for eclipselink.jar location
_eclipselinkJar=../../../eclipselink.jar 

# Defined jarfile names. 
mappingsplugin.jarfile=mappingsplugin_test.jar
mappingsplugin.jarfile.src=mappingsplugin_test_src.jar

# Defines for build directories.
compile.mappingsplugin.resources=${_rootResourceDir}
compile.mappingsplugin.srcdir=${_rootSourceDir}
compile.mappingsplugin.destdir=${_classesDestDir}
compile.mappingsplugin.classpath= \
	${_jarDestDir}/utility_test.jar; \
	${_jarDestDir}/framework_test.jar; \
	${_mwdevLibDir}/mappingsplugin.jar; \
	${_mwdevLibDir}/framework.jar; \
	${_mwdevLibDir}/uitools.jar; \
	${_mwdevLibDir}/cmpmigrator.jar; \
	${_mwdevLibDir}/mappingsio.jar; \
	${_mwdevLibDir}/mappingsmodel.jar; \
	${_mwdevLibDir}/platformsmodel.jar; \
	${_mwdevLibDir}/utility.jar; \
	${_eclipselinkJar}; \
	${_libDir}/compile/package-rename.jar; \
	${junit.lib}
