##
#  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.0l
#
#  SPDX-License-Identifier: EPL-2.0
# 
#  Contributors:
#      Thales Corporate Services S.A.S - initial API and implementation
##
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               plugin.properties,\
               html/,\
               toc.xml,\
               topics_FactoryComponents.xml,\
               topics_GettingStarted.xml,\
               topics_Reference.xml,\
               about.html,\
               egf.png,\
               about.ini

