###############################################################################
# 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.. =src/
source.lib/antsupportlib.jar=src_ant/
src.includes=about.html,schema/
bin.includes = plugin.xml,\
               plugin.properties,\
               about.html,\
               .,\
               lib/*.jar,\
               META-INF/
jars.compile.order=antsupport.jar,lib/antsupportlib.jar
jars.extra.classpath=../org.apache.ant/lib/ant.jar,../org.apache.ant/lib/ant-launcher.jar
javadoc.packages=org.eclipse.*