###############################################################################
# Copyright (c) 2010 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:
#    Gabriel Barbier (Mia-Software) - initial API and implementation
#    Nicolas Bros (Mia-Software) - Bug 335003 - [Discoverer] : Existing Discoverers Refactoring based on new framework
###############################################################################
# NLS_MESSAGEFORMAT_VAR
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
               about.html,\
               modeling32.png,\
               META-INF/,\
               logoMoDiscoMini.jpg,\
               .,\
               OSGI-INF/
src.includes = about.html
