###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
bin.includes = plugin.xml,\
			   plugin.properties,\
               test.xml,\
               about.html,\
               testbuildfiles/,\
               testresources/,\
               testlib/,\
               lib/,\
               lib/*.jar,\
               *.jar
               
source.anttestscore.jar = test plugin/,\
                         tests/,\
                         buildfiles/
source.lib/antTestsSupport.jar = test support/
jars.compile.order=anttestscore.jar,lib/antTestsSupport.jar
