# Copyright (c) 2013, 2018 CEA and others.
# All rights reserved.   This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors: 
#   Christian W. Damus (CEA) - initial API and implementation
#   Christian W. Damus (CEA) - 286404
#   Kenn Hussey - 535301
#

source.. = src/
source.ant_tasks/uml2.ant.tasks.jar = tasks/
output.. = bin/
output.ant_tasks/uml2.ant.tasks.jar = bin.tasks/
bin.includes = META-INF/,\
               .,\
               plugin.properties,\
               about.html,\
               plugin.xml,\
               ant_tasks/uml2.ant.tasks.jar
src.includes = about.html,\
               build_ant_tasks.xml
jars.compile.order = .,\
                     ant_tasks/uml2.ant.tasks.jar
jars.extra.classpath = ./emf.ant.tasks.jar
exclude.. = **/doc-files/**
exclude.ant_tasks/. = **/doc-files/**
javacSource = 1.5
javacTarget = 1.5
