# Copyright (c) 2006, 2009 IBM Corporation, Embarcadero Technologies, and others.
# 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: 
#   IBM - initial API and implementation
#   Kenn Hussey (Embarcadero Technologies) - 204200
#
# $Id: plugin.properties,v 1.5 2009/04/07 18:24:02 jbruck Exp $

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 Tests
providerName = Eclipse Modeling Project
