###############################################################################
# Copyright (c) 2011 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:
#    Nicolas Bros (Mia-Software) - initial API and implementation
###############################################################################

# <copyright>
# </copyright>
#
# $Id$

bin.includes = .,\
               model/,\
               META-INF/,\
               plugin.xml,\
               about.html,\
               OSGI-INF/
jars.compile.order = .
source.. = src/
output.. = bin/
src.includes = about.html
