# Copyright (c) 2003, 2017 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) - 351776
#   Kenn Hussey - 526568
#

# NLS_MESSAGEFORMAT_VAR

bin.includes = eclipse_update_120.jpg,\
               feature.properties,\
               feature.xml
