##
#  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,\
               templates/,\
               model/,\
               plugin.properties,\
               default.fcore,\
               extension.fcore,\
               plugin.xml,\
               validation.fcore
src.includes = about.html
