###############################################################################
# Copyright (c) 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
#
# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/Attic/plugin.properties,v $
# $Revision: 1.2 $  $Date: 2003/11/03 19:16:15 $
#


pluginName = Java EMF Model Tests Source
providerName = Eclipse.org