###############################################################################
# Copyright (c) 2010, 2018 The Eclipse Foundation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# 	The Eclipse Foundation - initial API and implementation
# 	Yatta Solutions - bug 432803: public API
###############################################################################
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               icons/,\
               intro/,\
               OSGI-INF/,\
               about.ini,\
               about.html,\
               OSGI-INF/l10n/,\
               OSGI-INF/services/,\
               .options
src.includes = schema/,\
               about.html,\
               .classpath,\
               .options,\
               .project,\
               .settings/,\
               about.ini,\
               build.properties,\
               icons/,\
               intro/,\
               plugin.xml,\
               pom.xml
