###############################################################################
# Copyright (c) 2000, 2015 IBM Corporation 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:
#     IBM Corporation - initial API and implementation
#     Mat Booth (Red Hat Inc) - 419524 Get rid of nested jars
#     Lars Vogel <Lars.Vogel@vogella.com> - Bug 474642
###############################################################################
source.. = src/
bin.includes = plugin.xml,\
               .,\
               Plugin_Testing/,\
               about.html,\
               META-INF/,\
               test.xml,\
               testData/
src.includes = about.html
javacWarnings..=-unchecked,-raw
