#############################################################################
# Copyright (c) 2008, 2009 Anyware 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: 
#   Anyware Technologies - initial API and implementation
#
# $Id: plugin.properties,v 1.5 2011/06/01 16:14:41 vhemery Exp $
#############################################################################

pluginName=EPackages Registration Plug-in
providerName=Eclipse Modeling Project
copyright=Copyright (c) 2008, 2009 Anyware Technologies and others. All rights reserved. 

epackages.registration = EPackages registration
register.epackages.into.repository = Register EPackages into repository
unregister.epackages.into.repository = Unregister EPackages from repository
emf.registered.packages = EMF registered packages
