# Copyright (c) 2005, 2013 IBM Corporation, Embarcadero Technologies, 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 (Embarcadero Technologies) - 204200
#   Christian W. Damus (CEA) - 227616
#

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