###############################################################################
# Copyright (c) 2000, 2011 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
###############################################################################
#custom = true
p2.group.id = org.eclipse.equinox.executable
binaryTag=v20110901-1725
customBuildCallbacks=customBuildCallbacks.xml
bin.includes = bin/,\
               feature.xml,\
               target.build.properties,\
               feature.properties,\
               gtk_root/,\
               motif_root/,\
               target.build.xml,\
               eclipse_update_120.jpg,\
               contributed/

#Bug 139066 Launcher feature should not contain icons and splash screen
bin.excludes=bin/**/Eclipse.icns,bin/**/icon.xpm,bin/**/*.pm,bin/**/splash.bmp
# If we need to regenerate the build.xml, this line must be included at the end of the gather.bin.parts target.
#	<move file="${feature.base}/features/org.eclipse.platform.launchers_3.1.0/target.build.properties" tofile="${feature.base}/features/org.eclipse.platform.launchers_3.1.0/build.properties"/>
