###############################################################################
# Copyright (c) 2003, 2009 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
extra.lib/pdebuild-ant.jar = ../org.apache.ant/ant.jar
bin.includes = plugin.xml,\
               plugin.properties,\
               about.html,\
               *.jar,\
               lib/*.jar,\
               scripts/,\
               templates/,\
               data/,\
               META-INF/,\
               .options,\
               about_files/
jars.compile.order = pdebuild.jar,\
                     lib/pdebuild-ant.jar
source.pdebuild.jar = src/
output.pdebuild.jar = bin/
src.includes = about.html,\
               schema/
source.lib/pdebuild-ant.jar = src_ant/
output.lib/pdebuild-ant.jar = bin_ant/
jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar,\
                       platform:/plugin/org.eclipse.equinox.p2.repository.tools/lib/repository-tools-ant.jar
