###############################################################################
# Copyright (c) 2019 Mia-Software and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     Unknown - initial API and implementation
###############################################################################
###############################################################################
# Copyright (c) 2012, 2018 INRIA and Mia-Software
# 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:
#     Guillaume Doux (INRIA) - Initial API and implementation
#	 Fabien Giquel (Mia-Software) - Bug 533168 - (releng) OutOfMemory during quality postprocessing because large number of checkstyle warnings
# 
bin.includes = .,\
               model/,\
               META-INF/,\
               plugin.xml,\
               plugin.properties,\
               about.html
jars.compile.order = .
source.. = src-gen/,\
           src/
output.. = bin/
src.includes = about.html
