###############################################################################
# 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
###############################################################################
customBuildCallbacks=customBuildCallbacks.xml
customBuildCallbacks.inheritall=true

bin.includes = META-INF/,\
               about.html,\
               book.css,\
               guide/,\
               notices.html,\
               plugin.properties,\
               plugin.xml,\
               porting/,\
               questions/,\
               reference/,\
               samples/,\
               schema.css,\
               toc.xml,\
               topics_Guide.xml,\
               topics_Porting.xml,\
               topics_Questions.xml,\
               topics_Reference.xml,\
               topics_Samples.xml,\
               topics_WhatsNew.xml,\
               workbench.png,\
               whatsNew/,\
               index*/
