###############################################################################
# Copyright (c) 2007, 2012 Borland Software Corporation and others.
# 
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#   
# Contributors:
#     Borland Software Corporation - initial API and implementation
###############################################################################
output.. = bin/
source.. = src/
bin.includes = plugin.properties,\
               plugin.xml,\
               schema/**,\
               META-INF/,\
               .,\
               lib/antTasks.jar,\
               modeling32.png,\
               about.html,\
               about.ini,\
               about.mappings,\
               about.properties
jars.compile.order = .,\
                     lib/antTasks.jar
src.includes = schema/,\
               about.html
source.lib/antTasks.jar = src_ant/
output.lib/antTasks.jar = bin_ant/
