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