##
#  Copyright (c) 2018 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.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               egf/,\
               plugin.properties,\
               about.html,\
               plugin.xml
src.includes = about.html