# Copyright (c) 2008, 2011 Obeo.
# 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:
#     Obeo - initial API and implementation
# 

pluginName = SWT-Dependent part of the Extended Editing Framework runtime
providerName = Eclipse Modeling Project
