# 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
#   Kenn Hussey (CEA) - 364419
#   Kenn Hussey - 535301
#

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