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