###############################################################################
# <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 (Incubation)
providerName = Eclipse Modeling Project
description = This is the runtime feature of 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. Only this Graphiti feature is needed for creating Eclipse-based applications containing tools using Graphiti.

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