###############################################################################
# Copyright (c) 2000, 2006 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
###############################################################################
bin.includes = plugin.xml,\
               about.html,\
               .options,\
               JavadocHoverStyleSheet.css,\
               JavadocViewStyleSheet.css,\
               icons/,\
               templates/,\
               plugin.properties,\
               .,\
               serialsupport.jar,\
               META-INF/
src.includes = about.html,\
               schema/
source.. = core refactoring/,\
                 ui/,\
                 ui refactoring/,\
                 core extension/
jars.compile.order = serialsupport.jar
source.serialsupport.jar = serial support/
output.serialsupport.jar = bin/
