###############################################################################
# Copyright (c) 2004, 2013 IBM Corporation and others.
#
# 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:
#     IBM Corporation - initial API and implementation
###############################################################################
bin.includes = plugin.xml,\
               plugin.properties,\
               test.xml,\
               about.html,\
               testbuildfiles/,\
               lib/,\
               lib/*.jar,\
               *.jar,\
               META-INF/
               
source.anttestsui.jar = test plugin/,\
                        Ant Editor Tests/,\
                        Ant Debug Tests/,\
                        External Tools/,\
                        Ant Tests/
						
source.lib/antUITestsSupport.jar = test support/
jars.compile.order=anttestsui.jar,lib/antUITestsSupport.jar
output.lib/antUITestsSupport.jar = test_support_bin/
output.anttestsui.jar = bin/
