###############################################################################
# Copyright (c) 2000, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
source.javaeditorexample.jar = Eclipse Java Editor Example/
source.templateeditorexample.jar = Template Editor Example/

bin.includes = doc-html/,\
				icons/,\
				templates/,\
				.options,\
				about.html,\
				plugin.properties,\
				plugin.xml,\
				*.jar

src.includes = about.html
