#/*******************************************************************************
#* 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 Platforms Plug-in
_productName=EclipseLink
release.version=2.5.2

# 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. 
platformsplugin.jarfile=platformsplugin.jar
platformsplugin.jarfile.src=platformsplugin_src.jar

# Defines for build directories.
compile.platformsplugin.resources=${_rootResourceDir}
compile.platformsplugin.srcdir=${_rootSourceDir}
compile.platformsplugin.destdir=${_classesDestDir}
compile.platformsplugin.classpath= \
	${_jarDestDir}/platformsmodel.jar; \
	${_jarDestDir}/framework.jar; \
	${_jarDestDir}/uitools.jar; \
	${_jarDestDir}/utility.jar
