###############################################################################
# Copyright (c) 2005, 2007 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
# https://www.eclipse.org/legal/epl-2.0/
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
source.jee-tests.jar = 
output.jee-tests.jar = bin/
bin.includes = plugin.xml,\
               jee-tests.jar,\
               TestData/,\
               test.xml,\
               about.html,\
               DefectTestData/,\
               META-INF/,\
               bvt.properties,\
               plugin.properties
src.includes = build.properties,\
               test.xml,\
               plugin.xml,\
               TestData/,\
               DefectTestData/,\
               bvt.properties
source.jee-tests.jar = jee-tests/
