##
#  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

