###############################################################################
# Copyright (c) 2004 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.tomcatcore.jar = tomcatcore/
bin.includes = plugin.xml,\
               *.jar,\
               plugin.properties,\
               tomcatcore.jar,\
               verifyInstall.properties,\
               .options
jars.compile.order = 
src.includes = schema/,\
               build.properties
output.tomcatcore.jar = bin/
