#####################################################################################
# Copyright (c) 2006, 2009 PalmSource, Inc. 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: 
# Ewa Matejska (PalmSource)
# Martin Oberhuber (Wind River) - fix 158529: Migrate docs to HTML / TOC format 
# Martin Oberhuber (Wind River) - add help contexts 
#####################################################################################

source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               about.html,\
               about.ini,\
               about.mappings,\
               about.properties,\
               plugin.properties,\
               plugin.xml,\
               remotecdt.html,\
               toc.xml,\
               HelpContexts.xml,\
               icons/,\
               .,\
               cdt_logo_icon32.png
src.includes = about.html
