###############################################################################
# Copyright (c) 2023 Willink Transformations 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:
#     E.D.Willink - initial API and implementation
###############################################################################
source.. = src/,\
           src-gen/
bin.includes = model/generated/,\
               .,\
               META-INF/,\
               about.html,\
               model/,\
               plugin.properties,\
               plugin.xml
additional.bundles = org.eclipse.xtext.xbase,\
                     org.eclipse.xtext.common.types,\
                     org.eclipse.xtext.xtext.generator,\
                     org.eclipse.emf.codegen.ecore,\
                     org.eclipse.emf.mwe.utils,\
                     org.eclipse.emf.mwe2.launch,\
                     org.eclipse.emf.mwe2.lib,\
                     org.objectweb.asm,\
                     org.apache.commons.logging,\
                     org.apache.log4j,\
                     com.ibm.icu,\
                     org.eclipse.jdt.annotation
src.includes = about.html
