###############################################################################
# Copyright (c) 2001, 2012 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Jens Lukowski/Innoopract - initial renaming/restructuring
#     
###############################################################################
source.. = src-encoding/,\
           src/,\
           src-tasktags/,\
           src-contentproperties/
bin.includes = plugin.xml,\
               plugin.properties,\
               .options,\
               config/,\
               META-INF/,\
               .,\
               about.html
bin.excludes = bin/**,\
               @dot/**,\
               temp.folder/**
src.includes = schema/,\
               doc/,\
               DevTimeSupport/
output.. = bin/
src.excludes = DevTimeSupport/build.xml,\
               DevTimeSupport/SedModel/,\
               DevTimeSupport/HeadParsers/
