###############################################################################
# Copyright (c) 2000, 2012 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,\
               eclipse16.png,\
               eclipse32.png,\
               eclipse48.png,\
               eclipse256.png,\
               eclipse_lg.png,\
               eclipse_lg@2x.png,\
               plugin.xml,\
               plugin.properties,\
               plugin_customization.ini,\
               plugin_customization.properties,\
               META-INF/,\
               book.css,\
               disabled_book.css,\
               narrow_book.css,\
               macosx_narrow_book.css,\
               introData.xml,\
               intro-eclipse.svg,\
               helpData.xml,\
               eclipse128.png,\
               eclipse64.png,\
               eclipse1024.png,\
               eclipse22.png,\
               eclipse24.png,\
               eclipse512.png,\
               org.eclipse.ui.intro.universal.solstice/

