###############################################################################
# Copyright (c) 2000, 2014 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
bin.includes = about.html,\
               about.ini,\
               about.mappings,\
               about.properties,\
               eclipse_lg.png,\
               eclipse16.png,\
               eclipse32.png,\
               eclipse48.png,\
               eclipse256.png,\
               plugin_customization.ini,\
               plugin_customization.properties,\
               plugin.xml,\
               plugin.properties,\
               splash.bmp,\
               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,\
               eclipse128.png,\
               eclipse64.png,\
               eclipse512.png,\
               eclipse24.png,\
               eclipse22.png,\
               eclipse1024.png
               org.eclipse.ui.intro.universal.solstice/
src.includes = about.html
source.platform.jar = src-intro/
