# All rights reserved by Loetz GmbH&Co.KG Heidelberg 2015.
# 
# Contributors:
#       Florian Pirchner - initial API and implementation

bin.includes = .,\
               icons/,\
               META-INF/,\
               plugin.xml,\
               plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin
