###############################################################################
# Copyright (c) 2009 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.. = src/                           
output.. = bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               plugin.properties,\
               lib/antdebug.jar,\
               lib/loggers.jar,\
               lib/remote.jar,\
               about.html

jars.compile.order = .,\
				                     lib/antdebug.jar,\
                     lib/loggers.jar,\
                     lib/remote.jar
source.lib/loggers.jar = loggers/
output.lib/loggers.jar = loggers_bin/
source.lib/antdebug.jar = common/
output.lib/antdebug.jar = common_bin/
source.lib/remote.jar = remote/
output.lib/remote.jar = remote_bin/
src.includes = about.html
