###############################################################################
# <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 SDK Plus (Incubation)
providerName = Eclipse Modeling Project
description = This is the SDK Plus feature of the Graphiti framework containing the SDK feature plus all available add-ons. Install this feature if you want to develop on top of Graphiti and if you need at least one of the add-ons. 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
