###############################################################################
# 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
###############################################################################
bin.includes = icons/,\
               plugin.properties,\
               plugin.xml,\
               *.jar,\
               about.html,\
               config_win32.ini,\
               config_motif.ini,\
               config_macosx-carbon.ini,\
               config_gtk.ini,\
               config_gtk-amd64.ini,\
               readme.html,\
               splash.bmp,\
               META-INF/
source.browser.jar = src/
src.includes = about.html,\
               config_gtk-amd64.ini,\
               config_gtk.ini,\
               config_motif.ini,\
               config_macosx-carbon.ini,\
               config_win32.ini,\
               readme.html
