################################################################################
# Copyright (c) 2008, 2012 Obeo.
# 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:
#     Obeo - initial API and implementation
################################################################################
bin.includes = .,\
               model/,\
               META-INF/,\
               plugin.xml,\
               plugin.properties,\
               about.html
jars.compile.order = .
source.. = src-gen/,\
           src/
output.. = bin/
src.includes = about.html,\
               model/
