###############################################################################
# Copyright (c) 2000, 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/,\
               testresources/,\
               testlib/,\
               lib/,\
               lib/*.jar,\
               *.jar,\
               META-INF/
               
source.anttestscore.jar = test plugin/,\
                          tests/
source.lib/antTestsSupport.jar = test support/
jars.compile.order=anttestscore.jar,lib/antTestsSupport.jar
output.lib/antTestsSupport.jar = test_support_bin/
output.anttestscore.jar = bin/
