###############################################################################
#
# Copyright (c) 2013, 2015 Intecs SpA 
# 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:
# Nicholas Pacini nicholas.pacini@intecs.it 
# Stefano Puri stefano.puri@intecs.it
# Laura Baracchi  laura.baracchi@intecs.it  
# Initial API and implementation and/or initial documentation
###############################################################################
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               build.properties,\
               icons/
