######################################################################
# 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
#######################################################################
pluginName = Graphiti Examples for Capabilities (Incubation)
providerName = Eclipse Modeling Project 

activity.description.framework = All contributions of the Graphiti framework
activity.name.framework = Graphiti Framework
activity.description.examples = All contributions of the Graphiti examples
activity.name.examples = Graphiti Examples
category.description = All contributions of Graphiti
category.name = Graphiti