######################################################################
# Copyright (c) 2005, 2019 SAP SE
#
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# Contributors:
#    SAP SE - initial API, implementation and documentation
#
# SPDX-License-Identifier: EPL-2.0
#######################################################################
featureName = Graphiti Export (Incubation)
providerName = Eclipse Modeling Project
description = This is the exporters feature of the Graphiti framework. This feature enhances the Graphiti runtime feature (org.eclipse.graphiti.feature) with additional export possibilities (currently an SVG exporter for diagrams is the only contained extension).

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