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