###############################################################################
# Copyright (c) 2005 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.BrowserDemo.jar = src/
output.BrowserDemo.jar = bin/
bin.includes = doc-html/,\
               plugin.properties,\
               plugin.xml,\
               about.html,\
               BrowserDemo.jar,\
               css1/,\
               css2/,\
               css3/,\
               css4/,\
               icons/,\
               META-INF/
src.includes=about.html
