###############################################################################
# Copyright (c) 2000, 2005 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
source.. = Ant Tools Support/,\
                   Ant Editor/

source.lib/antrunner.jar = Ant Runner Support/,\
                           Common Ant Support/

source.lib/remoteAnt.jar = Remote Ant Support/,\
                           Common Ant Support/

src.includes = about.html,\
               asl-v20.txt

bin.includes = icons/,\
               plugin.properties,\
               plugin.xml,\
               about.html,\
               templates/,\
               .,\
               lib/*.jar,\
               META-INF/,\
               asl-v20.txt
				
jars.compile.order=.,lib/antrunner.jar,lib/remoteAnt.jar
jars.extra.classpath=../org.apache.ant/lib/ant.jar
output.lib/antrunner.jar = ant_runner_support_bin/,\
                           common_ant_support_bin/
output.lib/remoteAnt.jar = common_ant_support_bin/,\
                           remote_support_bin/
