###############################################################################
# Copyright (c) 2000, 2012 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,\
               about.ini,\
               about.mappings,\
               about.properties,\
               eclipse_lg.gif,\
               eclipse16.png,\
               eclipse32.png,\
               eclipse48.png,\
               eclipse256.png,\
               eclipse16.gif,\
               eclipse32.gif,\
               eclipse48.gif,\
               plugin_customization.ini,\
               plugin_customization.properties,\
               plugin.xml,\
               plugin.properties,\
               splash.bmp,\
               cheatsheets/,\
               intro/,\
               platform.jar,\
               META-INF/,\
               narrow_book.css,\
               disabled_book.css,\
               book.css,\
               macosx_narrow_book.css,\
               intro-eclipse.png,\
               introData.xml,\
               helpData.xml,\
               images/,\
               LegacyIDE.e4xmi,\
               css/
src.includes = about.html,\
               launchersrc.zip,\
               platformsrc.zip
source.platform.jar = src-intro/
