###############################################################################
# Copyright (c) 2006, 2012 University College London.
# 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
#
###############################################################################
pluginName = Eclipse BPEL Designer Runtimes
providerName = Eclipse SOA 

MODULE_TYPE_NAME=BPEL 2.0 Process
MODULE_TYPE_DESCRIPTION=Module representing a BPEL process

BPEL_CORE_FACET_LABEL=BPEL 2.0 Facet
BPEL_CORE_FACET_DESCRIPTION=Enables modeling and deployment of BPEL processes.
BPEL_FACET_CATEGORY_LABEL=BPEL 2.0
BPEL_FACET_TEMPLATE_LABEL=BPEL 2.0 Project
NEW_BPEL_CATEGORY=BPEL 2.0
NEW_BPEL_PROJECT=BPEL Project
NEW_BPEL_PROJECT_DESCRIPTION=Create a new BPEL project. 
