###############################################################################
#  Copyright (c) 2003, 2014 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,\
               test.xml,\
               about.html,\
               testresources/,\
               testjars/,\
               testprograms/,\
               *.jar,\
               testfiles/,\
               testsource-j2se-1.5/,\
               META-INF/,\
               plugin.properties,\
               java7/,\
               java8/,\
               java9/
source.javadebugtests.jar = test plugin/,\
                            tests/,\
                            console tests/
output.javadebugtests.jar = bin/
javacWarnings..=-unavoidableGenericProblems
javacWarnings.javadebugtests.jar=-unavoidableGenericProblems
