###############################################################################
# Copyright (c) 2010 Nokia 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:
#     Nokia - initial API and implementation
###############################################################################
bin.includes = plugin.xml,\
               META-INF/,\
               html/,\
               tocSnapshots.xml,\
               book.css,\
               tocLaunchInternal.xml,\
               tocEDC_Concepts.xml,\
               tocEDC_Reference.xml,\
               tocEDC_Tasks.xml,\
               org.eclipse.cdt.debug.edc.doc.user/,\
               about.html
src.includes = tocSnapshots.xml,\
               plugin.xml,\
               html/,\
               book.css,\
               tocEDC_Concepts.xml,\
               tocEDC_Reference.xml,\
               tocEDC_Tasks.xml,\
               META-INF/,\
               org.eclipse.cdt.debug.edc.doc.user/
