# ====================================================================
# Copyright (c) 2007, 2013 THALES GLOBAL SERVICES
# All rights reserved.
# 
# Contributors:
#      Obeo - Initial API and implementation
# ====================================================================
source.. = src/,\
           src-gen/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               build.properties,\
               plugin.properties,\
               icons/,\
               about.html
                              
javacWarnings.. = none
src.includes = about.html
