###############################################################################
# Copyright (c) 2009, 2010 Mia-Software.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#    Gregoire DUPE (Mia-Software) - initial API and implementation
#	  Fabien Giquel (Mia-Software) - Bug 533168 - (releng) OutOfMemory during quality postprocessing because large number of checkstyle warnings
###############################################################################
bin.includes = .,\
               META-INF/,\
               plugin.properties,\
               resources/,\
               about.html,\
               src/org/eclipse/modisco/infra/facet/tests/samples/,\
               src/Bug310279.java,\
               plugin.xml,\
               src/Bug311684.java
jars.compile.order = .
source.. = src/,\
           src-gen/
output.. = bin/
src.includes = about.html
