# <copyright>
# Copyright (c) 2009, 2010 Open Canarias, S.L.
# 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:
#     Adolfo Sanchez-Barbudo Herrera - Initial API and implementation
# 
# </copyright>

bin.includes = .,\
               model/,\
               META-INF/,\
               plugin.xml,\
               plugin.properties,\
               about.html
jars.compile.order = .
source.. = src/
output.. = bin/
src.includes = about.html
