# versions of test plugins:

# pasted output from processSDKmap.sh:
# ----
org.eclipse.jdt.core.tests.builder=org.eclipse.jdt.core.tests.builder_3.8.1.v20120424-0604
org.eclipse.jdt.debug.tests=org.eclipse.jdt.debug.tests_3.8.0.v20120426-2103
org.eclipse.jdt.ui.tests=org.eclipse.jdt.ui.tests_3.8.0.v20120502-1108
org.eclipse.jdt.ui.tests.refactoring=org.eclipse.jdt.ui.tests.refactoring_3.8.0.v20120429-1349
org.eclipse.test.performance=org.eclipse.test.performance_3.7.0.v20120301-1420
# ----

# tests referenced without version qualifier:
org.eclipse.jdt.core.tests.compiler=org.eclipse.jdt.core.tests.compiler_3.8.1
org.eclipse.jdt.core.tests.model=org.eclipse.jdt.core.tests.model_3.8.1

# this is part of eclipse-test-framework and holds library.xml:
org.eclipse.test=org.eclipse.test_3.3.100

org.eclipse.objectteams.otdt.tests=org.eclipse.objectteams.otdt.tests_1.3.0
org.eclipse.objectteams.otdt.ui.tests=org.eclipse.objectteams.otdt.ui.tests_1.3.0
org.eclipse.objectteams.otdt.ui.tests.dom=org.eclipse.objectteams.otdt.ui.tests.dom_1.3.0
org.eclipse.objectteams.otdt.debug.tests=org.eclipse.objectteams.otdt.debug.tests_1.3.0
org.eclipse.objectteams.otdt.ui.tests.refactoring=org.eclipse.objectteams.otdt.ui.tests.refactoring_1.3.0
org.eclipse.objectteams.otdt.test.builder=org.eclipse.objectteams.otdt.test.builder_1.3.0

