###############################################################################
#  Copyright (c) 2005, 2009 IBM Corporation 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:
#     IBM Corporation - initial API and implementation
#     Wind River Systems - adapted to use with DSF
###############################################################################
source.. = src/,\
           pdavm/src/
output.. = bin/
bin.includes = plugin.xml,\
               pdavm/,\
               META-INF/,\
               about.html,\
               .,\
               readme.html,\
               samples/,\
               .options,\
               plugin.properties
src.includes = about.html
