###############################################################################
#  Copyright (c) 2000, 2010 IBM Corporation and others.
#  All rights reserved. This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License v2.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

bin.includes = META-INF/,\
               book.css,\
               toc.xml,\
               plugin.xml,\
               schema.css,\
               started/,\
               plugin.properties,\
               about.html,\
               tocreference.xml,\
               ui-contexts.xml,\
               debug-contexts.xml,\
               about.mappings,\
               reference/,\
               notices.html,\
               build.properties,\
               concepts/,\
               tocconcepts.xml,\
               toctasks.xml,\
               images/,\
               tasks/,\
               tocgettingstarted.xml,\
               index*/
src.includes = about.html,\
               about.mappings,\
               book.css,\
               build.properties,\
               concepts/,\
               debug-contexts.xml,\
               images/,\
               index/,\
               notices.html,\
               plugin.properties,\
               plugin.xml,\
               reference/,\
               schema.css,\
               started/,\
               tasks/,\
               toc.xml,\
               tocconcepts.xml,\
               tocgettingstarted.xml,\
               tocreference.xml,\
               toctasks.xml,\
               ui-contexts.xml
generateSourceBundle=false
