###############################################################################
# Copyright (c) 2005, 2011 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
###############################################################################
bin.includes = plugin.xml,\
               icons/,\
               test.xml,\
               .,\
               data/,\
               META-INF/,\
               doc.zip,\
               about.html,\
               non_junit/,\
               nl/,\
               jsp/,\
               script/,\
               service/
jars.compile.order = .
output.. = bin/
source.. = base/,\
                      browser/,\
                      cheatsheet/,\
                      help/,\
                      intro/
javacWarnings..=-unavoidableGenericProblems

