###############################################################################
# Copyright (c) 2019 Mia-Software and others.
#
# 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:
#     Unknown - initial API and implementation
###############################################################################
# Copyright (c) 2009 Mia-Software 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
# http://www.eclipse.org/legal/epl-v20.html
# Contributors:
#     Gregoire DUPE (Mia-Software)

source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               about.html,\
               .project,\
               .classpath,\
               _example_EMFHighlight.uiCustom,\
               _example_jdkAndEclipseFacets.facetSet,\
               _example_jdkAndEclipseFacetsCustomization.uiCustom,\
               _example_jdkAndEclipseQuerySet.querySet,\
               org.eclipse.gmf.runtime.diagram.ui.actions.javaxmi,\
               plugin.xml,\
               icons/,\
               src/,\
               build.properties,\
               OSGI-INF/
src.includes = about.html
