# Copyright (c) 2005, 2018 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 v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors:
#   IBM - initial API and implementation
#   Christian W. Damus (CEA) - 227616
#   Kenn Hussey - 535301
#

# NLS_MESSAGEFORMAT_VAR
source.. = src/
output.. = bin/
bin.includes = about.*,\
               modeling32.png,\
               plugin.*,\
               .,\
               icons/,\
               META-INF/
src.includes = about.html
exclude.. = **/doc-files/**
javacSource = 1.5
javacTarget = 1.5
