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