###############################################################################
# Copyright (c) 2010 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
###############################################################################

# To run all the buckets in the BVT, uncomment org.eclipse.jst.j2ee.tests.bvt.ALL (the rest of the
# properties will be ignored). 
# To run individual buckets, comment out org.eclipse.jst.2ee.tests.bvt.ALL and
# uncomment the corresponding properties.

#org.eclipse.jst.jee.tests.bvt.ALL = true
org.eclipse.jst.jee.tests.bvt.EnterpriseBVT = true
org.eclipse.jst.jee.tests.bvt.EJBBVT = true
org.eclipse.jst.jee.tests.bvt.WebBVT = true
