# Copyright (c) 2016, 2018 Obeo.
# 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: Obeo - initial API and implementation

bin.includes = feature.xml,\
               about.html,\
               feature.properties,\
               epl-v20.html,\
               license.html
src.includes = about.html,\
               epl-v20.html,\
               license.html
