##
#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
#
#  This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License 2.0
#  which accompanies this distribution, and is available at
#  https://www.eclipse.org/legal/epl-2.0
#
#  SPDX-License-Identifier: EPL-2.0
# 
#  Contributors:
#      Thales Corporate Services S.A.S - initial API and implementation
##

pluginName=EGF Producer
providerName=Eclipse Modeling Project

EGFActivityManagerProducerExtensionPoint=EGF Activity Manager Producer
EGFActivityProductionContextProducerExtensionPoint=EGF Activity Production Context Producer
EGFOrchestrationManagerProducerExtensionPoint=EGF Orchestration Manager Producer
