###############################################################################
# Copyright (c) 2011, 2019 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:
#    Nicolas Payneau (Mia-Software) - initial API and implementation
#    Nicolas Bros (Mia-Software) - Bug 337402 - [Discovery Workflow] refactoring
###############################################################################
# Copyright (c) 2011, 2018 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:
#  Nicolas Payneau (Mia-Software) - initial API and implementation
#  Nicolas Bros (Mia-Software) - refactored
#	 Fabien Giquel (Mia-Software) - Bug 533168 - (releng) OutOfMemory during quality postprocessing because large number of checkstyle warnings
# 

bin.includes = .,\
               model/,\
               META-INF/,\
               plugin.xml,\
               OSGI-INF/,\
               about.html
jars.compile.order = .
source.. = src/,\
           src-gen/
output.. = bin/
src.includes = about.html
