###############################################################################
# Copyright (c) 2009, 2019 Mia-Software and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors:
#    Fabien GIQUEL (Mia-Software) - initial API and implementation
#    Nicolas Bros (Mia-Software) - Bug 335003 - [Discoverer] : Existing Discoverers Refactoring based on new framework
###############################################################################

#Properties file for org.eclipse.modisco.java.discoverer
Bundle-Vendor = Eclipse Modeling Project
Bundle-Name = MoDisco Java Discoverer
discoverer.javaProject2KDM = Discover KDM code model from Java project...
discoverer.javaProject2Model = Discover Java model from Java project...
discoverer.classFile2Model = Discover Java model from Class file
discoverer.library2Model = Discover Java model from Library
discoverer.model2KDM = Discover KDM code model from Java model