##
#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
#  All rights reserved. This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License v1.0
#  which accompanies this distribution, and is available at
#  http://www.eclipse.org/legal/epl-v10.html
# 
#  Contributors:
#      Thales Corporate Services S.A.S - initial API and implementation
##
output.. = bin/
bin.includes = META-INF/,\
               .,\
               egf/,\
               plugin.xml,\
               templates/,\
               about.html,\
               plugin.properties
source.. = src/,\
           generated/
src.includes = about.html
