# <copyright>
# Copyright (c) 2013 Willink Transformations, University of York, and others.
# 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:
#   E.D.Willink - Initial API and implementation
#   Adolfo Sanchez-Barbudo (University of York) - Bug397429
# </copyright>

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