##
#  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
##
source.. = src/,\
           generated/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               about.html,\
               egf/Default_pattern_strategy_task.fcore,\
               egf/Filtered_pattern_strategy_task.fcore,\
               egf/Model_driven_pattern_strategy_task.fcore,\
               egf/Pattern_task.fcore,\
               plugin.properties,\
               plugin.xml,\
               egf/Substitution_composition.fcore,\
               egf/,\
               templates/
src.includes = about.html
