# Copyright (c) 2011 The University of York.
# 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-2.0.html
# 
# Contributors:
#      Louis Rose - initial API and implementation

bin.includes = model/,\
               META-INF/,\
               plugin.xml,\
               plugin.properties,\
               src/,\
               .
jars.compile.order = .
output.. = bin/
source.. = src/
