###############################################################################
# Copyright (c) 2003, 2006 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 = about.html,\
               META-INF/,\
               images/,\
               plugin.xml,\
               readme.html,\
               scripts/,\
               icons/,\
               html/,\
               performanceui.jar,\
               toc.xml,\
               contexts.xml,\
               doc/
source.performanceui.jar = src/
jars.compile.order = performanceui.jar
src.includes = src/
