######################################################################
# Copyright (c) 2005, 2019 SAP SE
#
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# Contributors:
#    SAP SE - initial API, implementation and documentation
#
# SPDX-License-Identifier: EPL-2.0
#######################################################################
bin.includes = .,\
               META-INF/,\
               plugin.properties,\
               about.html,\
               resources/,\
               toc.xml,\
               toc_graphiti.xml,\
               plugin.xml,\
               toc_concepts.xml,\
               javadoc/,\
               api_docs.xml
jars.compile.order = .
src.includes = toc_graphiti.xml,\
               toc.xml,\
               resources/,\
               about.html,\
               toc_concepts.xml,\
               javadoc/,\
               api_docs.xml
 