###############################################################################
# Copyright (c) 2008, 2018 Sybase, Inc., and others
# 
# All rights reserved. This program and the accompanying materials are made
# available under the terms of the Eclipse Public License v1.0 which
# accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors: Sybase - initial API and implementation
#     Nick Boldt, Red Hat - fix source generation for Tycho 1.0
###############################################################################
source.. = src/
output.. = bin/
src.includes = *
src.excludes = src
bin.includes = plugin.xml,\
               runtime/,\
               plugin.properties,\
               about.html,\
               META-INF/

javadoc.dir =		doc/api/
download.dir =		./download/
