##
#  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
##
source.. = generated/
output.. = bin/
bin.includes = META-INF/,\
               templates/,\
               .,\
               about.html,\
               plugin.properties,\
               plugin.xml,\
               egf/,\
               egf.png,\
               about.ini
src.includes = about.html
