#/*******************************************************************************
#* 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 IO
_productName=EclipseLink
release.version=2.5.3

# Defines for basic build directories.
_classesDestDir=${basedir}/classes
_libDir=${basedir}/../../eclipselink.utils.workbench.lib/
_jarDestDir=${_libDir}/mw
_rootResourceDir=${basedir}/resource
_rootSourceDir=${basedir}/source

# Defined jarfile names.
mappingsio.jarfile=mappingsio.jar
mappingsio.jarfile.src=mappingsio_src.jar

# Defines for build directories.
compile.mappingsio.resources=${_rootResourceDir}
compile.mappingsio.srcdir=${_rootSourceDir}
compile.mappingsio.destdir=${_classesDestDir}
compile.mappingsio.classpath= \
	${_jarDestDir}/mappingsmodel.jar; \
	${_jarDestDir}/utility.jar; \
	${_eclipselinkJar}
