# Copyright (c) 2005, 2013 IBM Corporation, CEA, and others.
# 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:
#   IBM - initial API and implementation
#   Kenn Hussey (CEA) - 327039
#   Christian W. Damus (CEA) - 227616
#

# NLS_MESSAGEFORMAT_VAR

source.. = src/
output.. = bin/
bin.includes = about.*,\
               modeling32.png,\
               plugin.*,\
               .,\
               model/*.ecore,\
               model/*.ecore2xml,\
               model/*.genmodel,\
               META-INF/,\
               schema/
src.includes = about.html,\
               model/*.ecore2ecore,\
               model/*.uml
exclude.. = **/doc-files/**
javacSource = 1.5
javacTarget = 1.5
