###############################################################################
# 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/,\
               plugin.properties
source.performanceui.jar = src/
jars.compile.order = performanceui.jar
