##
#  Copyright (c) 2009-2010 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
##
source.. = src/
source.ant_tasks/egf.ant.tasks.jar = tasks/
output.. = bin/
output.ant_tasks/egf.ant.tasks.jar = bin.tasks/
bin.includes = META-INF/,\
               .,\
               .options,\
               plugin.properties,\
               examples/,\
               about.html,\
               ant_tasks/egf.ant.tasks.jar,\
               plugin.xml
jars.compile.order = .,\
                     ant_tasks/egf.ant.tasks.jar               
src.includes = about.html
exclude.. = **/doc-files/**
exclude.ant_tasks/egf.ant.tasks.jar = **/doc-files/**
