###############################################################################
# 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,\
               lib/*.jar,\
               plugin.properties,\
               about.html
extra.lib/repository-tools-ant.jar = ../org.apache.ant/ant.jar
jars.compile.order = ., lib/repository-tools-ant.jar
source.lib/repository-tools-ant.jar = src_ant/
output.lib/repository-tools-ant.jar = bin_ant/
jars.extra.classpath=platform:/plugin/org.apache.ant/lib/ant.jar,\
                     platform:/plugin/org.eclipse.equinox.p2.jarprocessor/lib/jarprocessor-ant.jar,\
                    	 platform:/plugin/org.eclipse.equinox.p2.artifact.repository/ant_tasks/artifactRepository-ant.jar
src.includes = about.html
