###############################################################################
# <copyright>
#
# Copyright (c) 2005, 2011 SAP AG.
# All rights reserved. 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:
#    SAP AG - initial API, implementation and documentation
#    mwenz - Update of Eclipse license
#    mwenz - Use central Eclipse license feature
#
# </copyright>
#
###############################################################################
featureName = Graphiti Examples (Incubation)
providerName = Eclipse Modeling Project
description = This feature contains the tutorial, the documentation and examples for the Graphiti framework. Graphiti supports the fast and easy creation of unified graphical tools, which can graphically display and edit underlying domain models using a tool-defined notation.

# "EMFUpdateSiteName" property - label for the update site (on download1.eclipse.org)
EMFUpdateSiteName=Eclipse Modeling Framework (EMF) Updates
EMFTUpdateSiteName=Eclipse Modeling Framework Technologies (EMFT) Updates
