#/*******************************************************************************
#* 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 Icon Library
_productName=Eclipse Project
release.version=3.0.0

# 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.
iconlib.jarfile=iconlib.jar

# Defines for build directories.
compile.iconlib.resources=${_rootResourceDir}
