##
#  Copyright (c) 2009-2019 Thales Corporate Services S.A.S.
#
#  This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License 2.0
#  which accompanies this distribution, and is available at
#  https://www.eclipse.org/legal/epl-2.0
#
#  SPDX-License-Identifier: EPL-2.0
# 
#  Contributors:
#      Thales Corporate Services S.A.S - initial API and implementation
##

# NLS_MESSAGEFORMAT_VAR
bin.includes = feature.*,\
               epl-2.0.html,\
               license.html,\
               eclipse_update_120.jpg,\
               feature.properties
src.includes = epl-2.0.html,\
               license.html

