###############################################################################
# Copyright (c) 2001, 2004 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
#     Jens Lukowski/Innoopract - initial renaming/restructuring
#     
###############################################################################
bin.includes = plugin.xml,\
               xml.jar,\
               icons/,\
               plugin.properties,\
               templates/,\
               xmleditor.jar,\
               examples/,\
               META-INF/,\
               .,\
               .options,\
               about.html
bin.excludes = bin/**,\
               @dot/**,\
               temp.folder/**
source.. = src/,\
           src-multipage/,\
           src-wizards/,\
           src-catalog/,\
           src-validation
src.includes = build.properties
