###############################################################################
# Copyright (c) 2004, 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
###############################################################################
bin.includes = plugin.xml,\
               testfiles.zip,\
               test.xml,\
               projecttestfiles/,\
               testfiles/,\
               jspuitests.jar,\
               META-INF/,\
               about.html,\
               plugin.properties,\
               text.tests/,\
               jface.text.tests/
jars.compile.order = jspuitests.jar
source.jspuitests.jar = src/,\
                        text.tests/,\
                        jface.text.tests/
output.jspuitests.jar = bin/
